我有一个gRPC端点,可以来回传输查询和结果,并且服务器端经常会出现我想要发回的错误。我目前的错误处理方法是在回复中包含一条错误消息。
service MyService {
rpc Query (stream QueryRequest) returns (stream QueryReply) {}
}
message QueryReply {
string id = 1;
repeated string kind = 2;
message DataList {
repeated string data = 1;
}
map<string, DataList> data = 3;
string error = 4;
}
我怀疑创建单独的消息会更有效,因此错误消息不必包含所有其他数据。我对制作和同步多条消息犹豫不决,因为我不想添加太多复杂性。分割信息可以获得什么效率?是否有规范的方式(特别是)?
答案 0 :(得分:0)
由于protobuf不会发送空(默认)字段,因此分割它的效率可能不高。
所以,在你设置错误的情况下=&#34; foo&#34; 基本上只有foo是通过电线发送的。