【问题标题】:REST for low latency messaging .REST 用于低延迟消息传递。
【发布时间】:2009-03-09 01:06:06
【问题描述】:

为什么你没有看到更多的人使用 REST 架构作为客户端服务器系统。您看到人们使用套接字、TIBCO RV、EMS 或 MQ,但我没有看到太多基本的 REST 架构

有谁知道为什么您会避免使用这种架构进行客户端/服务器通信以实现高吞吐量/低延迟

【问题讨论】:

    标签: sockets rest messaging tibco


    【解决方案1】:

    REST 并不适合所有问题。

    REST 最适合资源 管理。如果您正在编写 Web 服务(如使用客户端-服务器系统),那么您会发现您需要诸如与语言无关的数据表示、参数验证、客户端/服务器代码生成、错误处理、访问控制之类的东西。 REST 基本上要求您自己编写这些代码。

    另一方面,它添加了 HTTP 层。您可以无缝集成代理、缓存等,但由于 HTTP 标头、网络服务器前端等,您确实会损失一些速度。

    【讨论】:

      【解决方案2】:

      我不知道我是否一定会避免它,但我可以想到几个原因,为什么我可能不会选择它来提供高吞吐量、低延迟的服务。首先,您必须处理整个 Web 堆栈才能将消息传递给您的服务。这可能会引入许多不必要的层和服务,从而延迟消息。自定义服务只需要支持服务本身所需的协议层即可。

      其次,除非您的服务是 Web 服务器上托管的唯一服务,否则您将与其他请求竞争以获取您的消息服务。虽然为您的服务提供自定义端点可能无法解决所有资源争用问题,但至少您不必竞争其他服务对您的端点的访问。

      第三,自定义协议只需要支持实际的服务相关协议信息,并且可能会导致更小的数据包大小,因为您不需要支持额外的 HTTP 协议开销。这将特别影响交换小消息的协议,因为标头信息将占消息大小的较大部分。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-12-14
        • 2019-07-18
        • 1970-01-01
        • 1970-01-01
        • 2012-02-02
        • 2014-09-27
        • 2011-03-27
        相关资源
        最近更新 更多