gRPC 是一个高性能、开源和通用的 RPC 框架。 基于 HTTP/2 标准设计。
-
首先安装相关工具
安装protoc
下载地址protoc是protobuf文件(.proto)的编译器(参考链接),可以借助这个工具把 .proto 文件转译成各种编程语言对应的源码,包含数据类型定义、调用接口等。
protoc在设计上把protobuf和不同的语言解耦了,底层用c++来实现protobuf结构的存储,然后通过插件的形式来生成不同语言的源码。安装protoc-gen-go
protoc-gen-go是protobuf编译插件系列中的Go版本。
go get -v -u github.com/golang/protobuf/protoc-gen-go #编译 cd $GOPATH/src/github.com/golang/protobuf/protoc-gen-go go build #将生成的 protoc-gen-go可执行文件,放在/bin目录下 sudo cp protoc-gen-go /bin/
可以把protoc的编译过程分成简单的两个步骤:
1)解析.proto文件,转译成protobuf的原生数据结构在内存中保存;
2)把protobuf相关的数据结构传递给相应语言的编译插件,由插件负责根据接收到的protobuf原生结构渲染输出特定语言的模板。 -
编写proto文件
syntax = "proto3"; message Block { bytes data = 1; }
-
编译成go源码文件
在proto文件所在的目录下执行 protoc --go_out=plugins=grpc:. *.proto