所以我一直试图了解消息队列和消息代理之间的区别,为什么要使用其中一个呢?
所以从我所理解的。 MESSAGE QUEUE有助于进程间通信,但它基本上只限于允许2个应用程序之间的通信?我问这个是因为例如MSMQ(如果我的理解是正确的)只将消息存储在队列中,直到第一个消费者处理它,之后它会自动将它从队列中删除。这是对的吗?
现在MESSAGE BROKERS是MESSAGE QUEUE的某种扩展?因为他们提供了PUBLISHER - SUBSCRIBER(S)关系的机制,就像观察者那样呢?
我的理解是否正确?如果是这样,两者之间还有其他差异吗?另外,为什么你要使用MESSAGE QUEUE而不是MESSAGE BROKER,因为你很可能会使用一个分布式系统,而这个系统肯定会由多个服务组成。
感谢。
答案 0 :(得分:2)
消息队列是一种数据结构或容器 - 一种保存消息以供最终消费的方法。 消息代理是管理队列的独立组件。
答案 1 :(得分:0)
消息代理(也称为服务总线)是一种中间件,负责消息的持久化和路由,同时允许您将系统分解成较小的部分。 消息队列很简单,它是消息代理程序的一部分,只是顾名思义,它就基于数据结构(FIFO)之类的队列。