采用
Protobuf(Protocol Buffers)是一种开源跨平台的序列化数据结构的协议。 Protobuf语言中立、平台中立、可扩展的序列化结构化数据机制(类似 XML,但更小、更快、更简单)。 你只需定义一次数据的结构,然后就可以使用专门生成的源代码轻松地使用各种语言将结构化数据写入各种数据流或从各种数据流读取结构化数据。

Protobuf性能非常高,在一些性能极致的场景,Protobuf是首选的序列化协议。
此外也不用担心Protobuf和JSON之间互操作的问题,Protobuf提供了JSON格式的支持,可以很方便的在JSON和Protobuf之间转换。
如在Spring Boot应用中,可以使用ProtobufJsonFormatHttpMessageConverter来支持Protobuf和JSON之间的转换。
@Bean
public ProtobufJsonFormatHttpMessageConverter protobufHttpMessageConverter() {
return new ProtobufJsonFormatHttpMessageConverter();
}
Protobuf & Friends
- gRPC: https://grpc.io/
- Common Expression Language (CEL): https://cel.dev/
- Buf CLI: all-in-one Protobuf toolchain https://buf.build/product/cli
References
- Protocol Buffers: https://protobuf.dev/
- gRPC: https://grpc.io/
- Buf CLI: all-in-one Protobuf toolchain https://buf.build/product/cli