grpc安装
是一种rpc服务,包含服务端和客户端,能够更容易地创建分布式应用和服务。
默认使用protocol buffers这种结构序列化机制(当然也可以使用json)。
安装grpc
protoc
是protocol buffer的编译器,根据.proto来生成创建应用所需的特定客户端和服务端的代码(PHP仅支持创建客户端代码)。生成的代码同时包括客户端的存根和服务端要实现的抽象接口,均包含Greeter
所定义的方法。
1.安装grpc-go
最简单的方式是: go get -u google.golang.org/grpc
然而我没有弄,就用如下的方式:
git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc
2.安装Protocol Buffers V3
请根据自己的操作系统下载相应的包,下载地址:https://github.com/google/protobuf/releases
- 1.解压文件
- 2.加入环境变量PATH
- 3.安装protoc的go插件:
go get -u github.com/golang/protobuf/protoc-gen-go
- 4.加入到环境变量:
export PATH=$PATH:$GOPATH/bin
备注:
我在第3步导入包时提示路径不对,查询后是因为我修改了$GOROOT,unset GOROOT,就好了
运行demo
客户端和服务端都是go,demo地址是https://github.com/grpc/grpc-go/tree/master/examples
工作区的目录如下:
- bin
- pkg
- src
- github.com
- golang
- protobuf
- google.golang.org
- grpc
在grpc/examples目录下,有greeter_server和greeter_client目录,go run 运行即可看到效果。
go run greeter_server/main.go # 加 & 放在后台运行
go run greeter_client/main.go # 如果顺利的话,会在服务端那边看到打印的world
参考地址:
https://grpc.io/docs/quickstart/go/
https://github.com/grpc/grpc-go/tree/master/examples