gRPCHTTP/2RPCProtobufIDLprotocGolang
Remote Procedure Call
gRPCProtobuf
gRPC 的特点
IDLgRPCProtoBufProtoBufGoogleXMLJSONProtoBufgRPCCgrpcJavagrpc-javaGogrpc-gogrpcCC++Node.jsPythonRubyObjective-CPHPC#grpc-javaAndroid
使用 gRPC 定义服务端
.proto
protoc-gen-grpc.proto
使用 gRPC 的客户端
.proto
在服务端,手动编写生成的服务端方法的业务逻辑代码,然后运行 gRPC 服务,接收并处理客户端请求,gRPC 服务自动解码请求参数,然后执行服务的方法,并将返回结果自动进行编码。
在客户端,实现和服务相同的方法,然后客户端可以本地调用这些方法,将请求参数封装在 Protobuf 的消息类型中,gRPC 将请求发送给服务器,并返回服务器的 Protobuf 序列化方式的响应消息。
参考文章: