3

我们正在寻求开发一些服务,但不确定哪种“响应”机制是最佳途径。两个竞争者是:

  1. HTTP 回调,服务将通过使用通过 HTTP 请求发送的更新消息“ping”客户端应用程序来更新客户端应用程序
  2. 消息传递,服务将通过将消息发布到消息服务器上的发布-订阅队列来更新客户端

在这两种情况下,调用者和服务都在我们的网络中,我们可以完全控制它们,我们开发的东西是服务的唯一用户。

向调用应用程序提供状态更新的每种方式的优点/缺点是什么,如果有的话,通过一种方法或另一种方法发出初始请求有什么优点/缺点?

注意:我们为此想到的第一个服务是类似于 SendGrid 的电子邮件服务,由于各种原因我们不能使用它,但仍然需要相同的功能。

4

1 回答 1

3

主要区别在于您使用消息传递服务器“开箱即用”的服务质量。

如果您使用 HTTP,那么您的应用程序必须处理消息未按预期到达时会发生什么。要了解您需要考虑的问题以及解决这些问题所涉及的复杂性,请查看WS-ReliableMessagingHTTPLR

通过消息传递,您可以获得开箱即用的可配置级别的可靠性。现在有很多不错的选择,例如 ActiveMQ、RabbitMQ、0MQ。

我个人的偏好是在传输层(通过消息传递)处理可靠性,但是为了进行良好的讨论和不同的观点,请查看“没有人需要可靠的消息传递” 。

于 2012-10-11T01:34:50.520 回答