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