3、RPC框架解析:gRPC实践
这里抛几个问题:
- RPC服务目录结构怎么设计?
- 代码仓库如何处理?
- 协议仓库如何处理?
- 对外如何提供接口服务?
3.1、gRPC
gRPC是一个现代的开源高性能RPC框架,可以在任何环境下运行。它可以有效地连接数据中心内和数据中心之间的服务,并支持可插拔的负载平衡、跟踪、运行状况检查和身份验证。它也适用于分布式计算、移动应用程序和浏览器连接到后端服务。
并且gRPC的资料很多,实践的文章也很多,后面统一使用gRPC作为我们了解RPC框架的实践。
3.2、stub生成
协议我们使用Protobuf,pb的demo.proto协议如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
syntax = "proto3"; package rpc_demo.helloworld; option go_package = "github.com/ldaysjun/protobuf/helloworld"; // The greeter service definition. service Greeter { // Sends a greeting rpc SayHello (HelloRequest) returns (HelloReply) {} } |