模板王网站怎么下载不了模板,网站建设员招聘,详情页设计的原则,外 网站 公司#x1f60f;★,:.☆(#xffe3;▽#xffe3;)/$:.★ #x1f60f; 这篇文章主要介绍grpc远程过程调用#xff08;RPC#xff09;配置与使用。 无专精则不能成#xff0c;无涉猎则不能通。。——梁启超 欢迎来到我的博客#xff0c;一起学习#xff0c;共同进步。 喜… ★,°:.☆(▽)/$:.°★ 这篇文章主要介绍grpc远程过程调用RPC配置与使用。 无专精则不能成无涉猎则不能通。。——梁启超 欢迎来到我的博客一起学习共同进步。 喜欢的朋友可以关注一下下次更新不迷路 文章目录 :smirk:1. 项目介绍:blush:2. 环境配置:satisfied:3. 使用说明 1. 项目介绍
项目Github地址https://github.com/grpc/grpc
官网https://grpc.io/
中文文档https://doc.oschina.net/grpc?t57966
gRPC是一个高性能、开源的远程过程调用RPC框架由Google开发并基于Protocol Buffers实现。它可以在客户端和服务器之间进行快速、有效的通信并支持多种编程语言。gRPC的设计目标是让开发者能够像调用本地函数一样调用远程服务从而简化分布式系统的开发。
以下是gRPC的主要特点和优势 1.高效性能gRPC使用基于HTTP/2的协议进行通信支持双向流、流式处理和多路复用等特性从而实现了更高效的数据传输和低延迟的通信。 2.强大的IDL接口定义语言gRPC使用Protocol Buffers作为其默认的IDL它提供了简单、轻量级的数据交换格式并通过代码生成工具生成符合各种编程语言的代码。这使得开发者可以轻松定义服务接口和数据结构并自动生成相应的代码。 3.多语言支持gRPC支持多种编程语言包括但不限于Java、C、Python、Go、Node.js等这使得不同语言的应用程序可以无缝地进行通信和集成。 4.支持多种服务类型gRPC支持四种服务类型Unary、Server Streaming、Client Streaming和Bidirectional Streaming。这使得开发者可以根据实际需求选择最适合的服务类型并实现灵活的数据传输方式。 5.可插拔的认证和流控制gRPC提供了可插拔的认证机制可以基于SSL/TLS进行安全通信。此外还支持流控制、拦截器、错误处理等功能使得开发者可以更好地控制和管理通信过程。 6.丰富的生态系统gRPC拥有活跃的社区和广泛的应用场景许多知名公司和项目都在使用gRPC。这意味着你可以从丰富的资源中获取支持、文档和示例代码从而更好地学习和使用gRPC。 总结起来gRPC是一个强大的远程过程调用框架它具有高效性能、强大的IDL、多语言支持、多种服务类型和丰富的生态系统。通过使用gRPC开发者可以轻松构建高性能、可扩展的分布式系统并简化不同语言之间的通信和集成。
2. 环境配置
下面进行环境配置
# 安装依赖
sudo apt install build-essential autoconf libtool pkg-config
# 源码安装
git clone --recurse-submodules -b v1.56.0 --depth 1 --shallow-submodules https://github.com/grpc/grpc
cd grpc
mkdir -p cmake/build
cd cmake/build
cmake -DgRPC_INSTALLON \-DgRPC_BUILD_TESTSOFF \-DCMAKE_INSTALL_PREFIX$MY_INSTALL_DIR \../..
make -j4
sudo make install
sudo ldconfig
# 验证安装
grpc_cpp_plugin --version3. 使用说明
源码提供了一些案例在example可在此基础上扩充服务信息即更改proto相关协议用法跟protobuf类似。
一个grpc example
cd examples/cpp/helloworld
mkdir -p cmake/build
cd cmake/build
cmake -DCMAKE_PREFIX_PATH$MY_INSTALL_DIR ../..
make -j4
# 运行
./greeter_server
./greeter_client
# 结果
Greeter received: Hello world以上。