我只是在阅读有关 Enterprise Service Bus 的信息,并试图弄清楚如何实现它。然而,我读得越多,我的结论是它只是一个美化的消息队列。
我在这里读到了它:什么是 ESB,它有什么用?
我们在我们的架构中大量使用 RabbitMQ,但我很难理解的是,这两个概念之间有很多相似之处:
我的问题是 ESB 能做什么而 RabbitMQ 不能做什么?
我没有使用过RabbitMQ,所以我无法对其发表评论。我使用过 ESB,目前正在使用它。
ESB:它为您提供了多种订阅消息的方式。它在使用主题和订阅的发布者-订阅者模型中最有用。您可以在主题中发布消息有效负载(类似于队列)。与队列不同,主题为我们提供了对单个主题进行多个订阅的能力。此订阅可以根据您的业务需求进行划分,您可以在这些主题(也称为频道)上定义某种过滤器表达式,并且使用指定的过滤器,适当的订阅者将从总线中提取消息。一个消息也可以一次被多个订阅者订阅。如果没有对主题使用过滤,则意味着该主题的所有订阅者都将从频道中提取消息。
这是您提到的异步机制,发布并忘记。ESB 中有一个重试机制,您可以尝试订阅消息多次,我认为它是 10 次(最大),之后它在死队列中发送。
因此,如果您的需求是使用松散耦合架构连接多个企业系统,那么 ESB 是一个不错的选择。
我希望这有助于了解 ESB
| 归档时间: |
|
| 查看次数: |
3768 次 |
| 最近记录: |