概览
gRPC是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。在gRPC里,客户端应用程序可以像调用本地对象一样直接调用另一台不同机器上,服务端应用的方法,使得你能够更容易的创建分布式应用和服务。与许多RPC系统类似,gRPC也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包括参数和返回类型)。在服务端实现这个接口,并运行一个gRPC服务器来处理客户端调用。
先决条件
- 要使用gRPC,你的Go版本必须高于
1.6
。 - 安装gRPC,使用命令:
$ go get -u google.golang.org/grpc
。 - 安装
Protocol Buffers
. - 安装
protoc
的Go插件,命令$ go get -u github.com/golang/protobuf/protoc-gen-go
。 - 设置环境变量
path
,将$GOPATH/bin
添加进去。
概念
服务定义
与其他RPC系统一样,gRPC基于定义服务的思想来注册服务。
syntax = "proto3";
package main;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The requ