【问题标题】:What is difference between a Message Queue and ESB?消息队列和 ESB 有什么区别?
【发布时间】:2018-08-04 02:59:50
【问题描述】:

我只是在阅读有关 Enterprise Service Bus 的文章并试图弄清楚如何实现它。然而,我阅读的越多,我的结论是它只是一个美化的消息队列。

我在这里读到了它:What is an ESB and what is it good for?

我们在架构中大量使用 RabbitMQ,但我很难理解的是这两个概念之间有很多相似之处:

  • 两者基本上都是post and forget
  • 您可以在两个队列中发布任何格式的消息

我的问题是 ESB 能做什么而 RabbitMQ 不能做什么?

【问题讨论】:

    标签: rabbitmq esb


    【解决方案1】:

    我没有使用过 RabbitMQ,所以我无法评论它。我使用过 ESB,目前正在使用它。

    ESB:它为您提供了多种订阅消息的方式。它在使用主题和订阅的发布者-订阅者模型中最有用。您可以在主题中发布消息负载(类似于队列)。与队列不同,主题为我们提供了对单个主题进行多个订阅的能力。此订阅可以根据您的业务需求进行划分,您可以在这些主题(也称为频道)上定义某种过滤器表达式,并且使用指定的过滤器,适当的订阅者将从总线中提取消息。此外,多个订阅者一次可以订阅一条消息。如果没有对主题使用过滤,则意味着该主题的所有订阅者都会从频道中提取消息。

    这是您提到的异步机制,发布后忘记。 ESB 中有一个重试机制,您可以尝试订阅消息若干次,我认为它的 10 次(最大)之后它在死队列中发送。

    因此,如果您的要求是通过松散耦合架构连接多个企业系统,那么 ESB 是一个不错的选择。

    我希望这对了解 ESB 有所帮助

    【讨论】:

      猜你喜欢
      • 2015-10-23
      • 2011-12-09
      • 2011-01-29
      • 2013-05-29
      • 2014-05-07
      • 1970-01-01
      • 2018-10-08
      • 2011-11-10
      • 2016-01-27
      相关资源
      最近更新 更多