proto
protobuf是Google开源的一款支持跨平台、语言中立的结构化数据描述和高性能序列化协议,此协议完全基于二进制,所以性能要远远高于JSON/XML。由于出色的传输性能所以常见于微服务之间的通讯,其中最为著名的是Google开源的 gRPC 框架。
proto 文件格式
syntax = "proto3"; // 声明使用proto3语法
package hello; // 声明package以防止protocol message类型之间的名称冲突
option go_package = "gxyan.com/proto/hello"; // 声明生成的go文件的package
option java_package = "com.gxyan.grpc"; // 声明java文件的package
service HelloService {
rpc Hello (HelloRequest) returns (HelloReply);
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
使用
下载Protocol Buffers,安装protobuf的Go编译插件及grpc插件
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
此处记得设置GOPATH环境变量
protoc --go_out=. --go_opt=paths=source_relative hello.proto
protoc --go-grpc_out=. --go-grpc_opt=paths=source_relative hello.proto
标签:package,gRPC,proto,--,go,grpc
From: https://www.cnblogs.com/gxyan/p/17983399