如今不少微服务内部的通讯协议都采用rpc,性能高,安全。而grpc则是google退出的rpc plus。git
protobuf是传输协议,性能高,强大。github
来一个server client的通讯demo,感觉一下这2个的魅力。golang
首先,咱们要约定好接口和数据结构,起名helloworld.proto:shell
go get -u github.com/golang/protobuf/protoc-gen-go
获取golang的protobuf生成器
而后执行命令:
protoc -I=$SRC_DIR --go_out=$DST_DIR $SRC_DIR/helloworld.proto
会生成一个 helloworld.pb.go 的文件,这个就是protobuf在go语言下的代理
而后咱们编写server:
别忘了get google.golang.org/grpc安全
client:数据结构
把server和client分别跑起来,就能看到效果啦。微服务
nice性能