【发布时间】:2018-10-08 06:30:41
【问题描述】:
所以我一直在尝试了解消息队列和消息代理之间的区别以及为什么要使用其中一个而不是另一个。
所以据我了解。 MESSAGE QUEUE 有助于进程间通信,但它基本上仅限于允许 2 个应用程序之间的通信?我问这个是因为例如 MSMQ(如果我的理解是正确的)只将消息存储在队列中,直到它被第一个消费者处理,之后它会自动将其从队列中删除。这是正确的吗?
现在 MESSAGE BROKERS 是 MESSAGE QUEUE 的某种扩展?因为它们提供了 PUBLISHER - SUBSCRIBER(S) 关系的机制,就像观察者所做的那样?
我的理解正确吗?如果是这样,两者之间还有其他区别吗?另外,您为什么要在消息代理上使用消息队列,因为您很可能会使用分布式系统,该系统肯定会由多个服务组成。
谢谢。
【问题讨论】:
-
请在您的请求中添加更多详细信息。如果与确切的软件产品没有任何关系,这些词是毫无意义的。从技术上讲,这些是同一系统的一部分,其中“队列”或“总线”是存储和使用数据片段的地方。这可能是某种数据库中的地址。代理是此类系统中的代理,处理各种方面,例如数据访问、数据格式配置、路由规则、触发器等。大多数时候代理是消息服务器。消息队列也可以作为IPC编程接口的一部分。
标签: architecture message-queue distributed-system messagebroker