在通过 HTTP 发送时,是否有一种有效的技术来批处理不同的 Protobuf 事件?
目标是在一个请求中包含多类型 Protobuf 消息的列表。我的一个想法是将消息分隔成小数组并指定它们的类型以便能够在服务器上反序列化它们。
在通过 HTTP 发送时,是否有一种有效的技术来批处理不同的 Protobuf 事件?
目标是在一个请求中包含多类型 Protobuf 消息的列表。我的一个想法是将消息分隔成小数组并指定它们的类型以便能够在服务器上反序列化它们。
您可以使用某些Any
消息类型与 结合repeated
,如下所示:
message Any {
string type_url = 1;
bytes value = 2;
}
message Envelope {
repeated Any events = 1;
}
然后,在您的代码中:
type_url
根据你序列化的消息类型来设置value
type_url
以了解其中包含哪种类型value
,并相应地反序列化上面的示例重现了google/protobuf/any
,此处记录:
https ://developers.google.com/protocol-buffers/docs/proto3#any