gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。gRPC提供了一种简单的方法来精确地定义服务和为iOS、Android和后台支持服务自动生成可靠性很强的客户端功能库。客户端充分利用高级流和链接功能,从而有助于节省带宽、降低的TCP链接次数、节省CPU使用、和电池寿命。

1、配置安装protobuf环境:

之前的文章有过详情的配置过程,这里不再赘述。

2、get所引用的包:

go get -u google.golang.org/grpc

由于墙的原因,我们一些依赖的包文件可以通过下面方式下载到: 在 github 可以找到源码,下载后复制到对应目录即可的: google.golang.org/grpc 对应的代码地址在: https://github.com/grpc/grpc-go google.golang.org/cloud/compute/metadata 对应的代码地址在: https://github.com/GoogleCloudPlatform/gcloud-golang golang.org/x/oauth2 对应的代码地址在: https://github.com/golang/oauth2 golang.org/x/net/context 对应的代码地址在: https://github.com/golang/net 这些包的源码也可以通过 http://gopm.io/ 或者 http://golangtc.com/download/package 进行下载。

3、编写proto文件,然后命令生成:

protoc --go_out=plugins=grpc:"server" "protos/*.proto"

完整的实例代码在https://github.com/markbest/go-grpc-example上,实例截图如下:

results matching ""

    No results matching ""