gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。
https://github.com/grpc/grpc-go/tree/master/examples/helloworld 里面是个简单的教程指导GO语言如何使用gRPC
其中 helloworld.proto 是用来定义ProtoBuf 消息格式,helloworld.pb.go 是protoc生成的GO语言形式的消息格式,生成方法是protoc -I helloworld/ helloworld/helloworld.proto --go_out=plugins=grpc:helloworld 。
这个例子服务端关键的代码如下
s := grpc.NewServer()
pb.RegisterGreeterServer(s, &server{})//注册服务
// Register reflection service on gRPC server.
reflection.Register(s)
if err := s.Serve(lis); err