【发布时间】:2020-05-06 03:45:03
【问题描述】:
如果将protobuf用作服务于RESTful端点的外部微服务的数据序列化,则protobuf消息需要转换回JSON消息,这将增加整体消息响应时间。
我知道 protobuf 对内部服务之间的通信有好处,但它对外部服务也有好处吗?
【问题讨论】:
标签: rest protocol-buffers microservices
如果将protobuf用作服务于RESTful端点的外部微服务的数据序列化,则protobuf消息需要转换回JSON消息,这将增加整体消息响应时间。
我知道 protobuf 对内部服务之间的通信有好处,但它对外部服务也有好处吗?
【问题讨论】:
标签: rest protocol-buffers microservices
外部 API 是:无论外部 API 是什么。如果该外部 API 是 gRPC,那么 protobuf 是一个很棒的选择,因为这 几乎总是 gRPC 使用的(你需要真正尝试使用除 protobuf 之外的其他东西gRPC)。 gRPC 并非无处不在,但对于跨业务 API 来说也并非不常见(尤其是当一端是 Google 时)。
假设您不是简单的直通代理,那么必须在不同形状(无论是完全不同的格式,还是相同格式的不同有效负载)之间转换消息是相当正常的,因此:必须解码和编码不是一个重大的冲击。如果您可以使其中至少一个步骤具有 protobuf 的大小和速度优势:那就太好了。
【讨论】: