【问题标题】:gRPC vs WebTransport vs WebSocket for inter-service communicationgRPC vs WebTransport vs WebSocket 用于服务间通信
【发布时间】:2023-02-12 21:32:20
【问题描述】:

所以我搭建了一个基于微服务架构的系统。我的服务必须以最小的延迟实时相互通信......哪个对我有好处,gRPC 或 WebTransport 或 WebSocket?为什么?

我对速度的唯一要求...

  • 如果连接中断,我需要立即知道
  • 连接应始终处于活动状态,而不是在每次消息传输时打开

编辑:我将传输结构化数据。格式选择灵活..

【问题讨论】:

  • 在你的问题中要提到的一件重要的事情是你将发送什么样的数据。对于 JSON 等易于序列化的数据,我会选择 gRPC,因为根据我的经验,它会大大减少带宽并提高速度。 gRPC 对大块二进制数据的好处不会那么明显,而且开销会大很多,因此决定归结为您将发送的数据类型。
  • @DanielG 是的,我有结构化数据...

标签: websocket architecture microservices grpc webtransport


【解决方案1】:

根据您提供的信息,我认为 gRPC 符合您的所有要求。

  • gRPC 使用的通道会在连接中断时抛出异常。
  • 每个客户端只需要一个通道,它可以重复用于您声明的不同服务。
  • 数据使用 protobuf 进行序列化和反序列化,如果您有固定的架构,这将使其非常快速和高效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-22
    • 1970-01-01
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    相关资源
    最近更新 更多