文章目录
gRPC
1.proto文件
2.具体使用
maven 依赖
插件
proto文件
common(通过插件生成的java类和gRPC接口)
gRPC服务端
gRPC客户端
gRPC
gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持. 中文官网
正如其他 RPC 系统,gRPC 基于如下思想:定义一个服务, 指定其可以被远程调用的方法及其参数和返回类型。gRPC 默认使用 protocol buffers 作为接口定义语言,来描述服务接口和有效载荷消息结构
1.proto文件
字段类型
double——>java:double
float——>java: float
int32——>java :int [使用可变长度编码。编码负数的效率低 - 如果你的字段可能有负值,请改用 sint32]
int64——>java: long [使用可变长度编码。编码负数的效率低 - 如果你的字段可能有负值,请改用 sint64]
uint32——> java:int [使用可变长度编码]
uint64——> java :int/long [使用可变长度编码]
sint32——> java:int [使用可变长度编码。有符号的 int 值。这些比常规 int32 对负数能更有效地编码]
sint64——> java:long [使用可变长度编码。有符号的 int 值。这些比常规 int64 对负数能更有效地编码]
fixed32——>java:int [总是四个字节。如果值通常大于 228,则比 uint32 更有效。]
fixed64——>java:long [总是八个字节。如果值通常大于 256,则比 uint64 更有效]
sfixed32 ——>java : int [总是四个字节]
sfixed64——&g