Protocol buffers protobuf是grpc中唯一使用的技术吗?

Protocol buffers protobuf是grpc中唯一使用的技术吗?,protocol-buffers,grpc,Protocol Buffers,Grpc,我们是否可以使用其他格式来代替grpc中的protobuf?grpc堆栈对所使用的封送器/序列化器没有严格的依赖性。gRPC看到的只是一个二进制缓冲区,其中包含完全不透明的内容(它甚至没有指定内容类型头),通过HTTP/2路由发送 按照约定,gRPC由.proto模式描述,该模式定义gRPC方法和有效负载消息,然后使用封送器/序列化器的协议缓冲区生成绑定代码 但是,如果您愿意自己编写绑定代码(或使用编写绑定代码的库),则可以使用自己的封送拆收器/序列化器注册gRPC端点。如何做到这一点的具体细节

我们是否可以使用其他格式来代替grpc中的protobuf?

grpc堆栈对所使用的封送器/序列化器没有严格的依赖性。gRPC看到的只是一个二进制缓冲区,其中包含完全不透明的内容(它甚至没有指定内容类型头),通过HTTP/2路由发送

按照约定,gRPC由.proto模式描述,该模式定义gRPC方法和有效负载消息,然后使用封送器/序列化器的协议缓冲区生成绑定代码


但是,如果您愿意自己编写绑定代码(或使用编写绑定代码的库),则可以使用自己的封送拆收器/序列化器注册gRPC端点。如何做到这一点的具体细节将因平台/语言/库的不同而有所不同,但是的:这是可能的。由于没有使用元数据(标头等)来解析封送拆收器/序列化器,因此客户端和服务器必须事先商定有效负载将使用的格式。

gRPC协议对封送拆收器/IDL不可知,但协议缓冲区是gRPC直接支持的唯一封送拆收器

我了解并支持gRPC。可能还有其他的

您可以自由支持自己喜欢的格式。这不容易,但也不难;它主要涉及粘合代码和定义供gRPC使用的RPC模式。本文将介绍grpc java的整个过程。每种语言都有点不同,必须单独支持