gRPC 模型

IDL

gRPC的采用**protobuf作为IDL来描述服务接口消息结构,如果需要,也可以使用其他替代方案。以下示例引用在gRPC concept**

service HelloService {
  rpc SayHello (HelloRequest) returns (HelloResponse);
}
message HelloRequest {
  string greeting = 1;
}
message HelloResponse {
  string reply = 1;
}

gRPC定义了4中可用的服务方法:

代码生成器

gRPC 提供protocol buffer compiler 插件产生Server端和Client端的代码:

序列化协议

gRPC采用Protobuf作为序列化协议,client和server端进行数据交互的时候都回将数据序列化成protobuf格式进行传输,具体参考**protobuf**

Transport协议

基于HTTP2的二进制传输(通过HTTP2 frame传输protobuf序列化后的二进制数据)

gRPC 处理框架

Java 实现