【问题标题】:Is protobuf a good choice for external microservice? By external microservice I mean some service that is exposed as a RESTful endpointprotobuf 是外部微服务的好选择吗?外部微服务是指一些作为 RESTful 端点公开的服务
【发布时间】:2020-05-06 03:45:03
【问题描述】:

如果将protobuf用作服务于RESTful端点的外部微服务的数据序列化,则protobuf消息需要转换回JSON消息,这将增加整体消息响应时间。

我知道 protobuf 对内部服务之间的通信有好处,但它对外部服务也有好处吗?

【问题讨论】:

    标签: rest protocol-buffers microservices


    【解决方案1】:

    外部 API 是:无论外部 API 是什么。如果该外部 API 是 gRPC,那么 protobuf 是一个很棒的选择,因为这 几乎总是 gRPC 使用的(你需要真正尝试使用除 protobuf 之外的其他东西gRPC)。 gRPC 并非无处不在,但对于跨业务 API 来说也并非不常见(尤其是当一端是 Google 时)。

    假设您不是简单的直通代理,那么必须在不同形状(无论是完全不同的格式,还是相同格式的不同有效负载)之间转换消息是相当正常的,因此:必须解码和编码不是一个重大的冲击。如果您可以使其中至少一个步骤具有 protobuf 的大小和速度优势:那就太好了。

    【讨论】:

      猜你喜欢
      • 2016-04-15
      • 1970-01-01
      • 2019-05-26
      • 1970-01-01
      • 1970-01-01
      • 2018-09-29
      • 1970-01-01
      • 2020-08-02
      • 2020-07-11
      相关资源
      最近更新 更多