Protobuf
简介
protobuf 是一种数据交换格式, 由三部分组成:
- proto 文件: 使用的 proto 语法的文本文件,用来定义数据格式
- protoc: protobuf 编译器(compile),将 proto 文件编译成不同语言的实现,这样不同语言中的数据就可以和 protobuf 格式的数据进行交互
- protobuf 运行时(runtime): protobuf 运行时所需要的库,和 protoc 编译生成的代码进行交互
Proto 文件
proto语法现在有 proto2 和 proto3 两个版本, 推荐使用 proto3
syntax = "proto3";
service Greeter {
rpc SayHello(HelloRequest) returns (HelloReply) {}
rpc SayHelloAgain(HelloRequest) returns (HelloReply) {}
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
使用 protobuf 的过程:编写 proto 文件 -> 使用 protoc 编译 -> 添加 protobuf 运行时 -> 项目中集成
更新 protobuf 的过程:修改 proto 文件 -> 使用 protoc 重新编译 -> 项目中修改集成的地方