GRPC 初体验

gRPC是由Google主导开发的RPC框架,使用HTTP/2协议并用ProtoBuf作为序列化工具。其客户端提供Objective-C、Java接口,服务器侧则有Java、Golang、C++等接口,从而为移动端(iOS/Androi)到服务器端通讯提供了一种解决方案。 当然在当下的环境下,这种解决方案更热门的方式是RESTFull API接口。该方式需要自己去选择编码方式、服务器架构、自己搭建框架(JSON-RPC)。
GRPC 初体验
文章图片

下面我们就以gRPC的Golang版本看下其在golang上面的表现。至于服务端的RPC,感觉golang标准库的RPC框架基本够用了,没必要再去用另一套方案。
安装protobuf 虽然gRPC也支持protobuf2.x,但是建议还是使用protobuf3.x,尽管还没有正式版本,不过golang版本基本没有什么问题,另外3.x官方支持了Objective-C,这也是我们使用gRPC的初衷:提供一个移动端到服务器的解决方案。去到Protocol Buffers下载最新版本(Version3.0.0 beta2),然后解压到本地。本地需要已经安装好autoconf automake libtool.rpm系列(fedora/centos/redheat)可以用yum安装。Mac上可以用brew进行安装

brew install autoconf automake libtool

【GRPC 初体验】如果电脑未安装brew,参考Mac下如何安装配置Homebrew
接着:
./autogen.sh ./configure make make install

检查是否安装完成
protoc --version libprotoc 3.0.0

然后安装golang protobuf直接使用golang的get即可
go get -u github.com/golang/protobuf/proto // golang protobuf 库 go get -u github.com/golang/protobuf/protoc-gen-go //protoc --go_out 工具

编译后会安装protoc-gen-go到 GOBIN目录,默认在 GOPATH/bin. 该目录必须在系统的环境变量$PATH中,这样在编译.proto文件时protocol编译器才能找到插件。
安装gRPC-go gRPC-go可以通过golang 的get命令直接安装,非常方便。
go get google.golang.org/grpc

实例 google的grpc在golang中的使用

    推荐阅读