【问题标题】:Error types in gRPC streaminggRPC 流中的错误类型
【发布时间】:2017-05-21 21:38:10
【问题描述】:

我有一个 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;
}

我怀疑创建单独的消息会更有效,这样出错消息就不必包含所有其他数据。我对制作和同步多条消息犹豫不决,因为我不想增加太多复杂性。拆分消息可以获得什么效率?有没有一种规范的方式来做到这一点(尤其是 go)?

【问题讨论】:

    标签: go protocol-buffers grpc


    【解决方案1】:

    由于 protobuf 不发送空(默认)字段,因此拆分它可能并不是真的更有效。

    所以,在你设置 error="foo" 的情况下 基本上只有 foo 是通过网络发送的。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 2016-11-08
    相关资源
    最近更新 更多