【发布时间】:2015-01-11 18:42:52
【问题描述】:
在 JMS 中主题是一个核心概念。它是发布/订阅模式的表示。
- 发布者在频道上发布他的消息
- 订阅者订阅该频道并从该频道接收消息
- 当每个订阅者都收到消息时,频道会删除消息
MSMQ/.NET中有类似的功能吗?
注意:发布者不应该关心有多少订阅者或订阅者。
【问题讨论】:
在 JMS 中主题是一个核心概念。它是发布/订阅模式的表示。
MSMQ/.NET中有类似的功能吗?
注意:发布者不应该关心有多少订阅者或订阅者。
【问题讨论】:
MSMQ 没有直接的主题概念。在正常操作中,一条消息仅传递给一个接收者 - 一旦从队列中读取它,它就无法用于任何其他尝试从同一队列中读取的接收者。 MSMQ 有一个triggers 的概念,它以某种方式试图通过将消息传递给多个接收者来克服这个限制,但它绝对与主题不同(也不是那么容易使用)。
如果您的用例确实需要主题,您要么必须创建自己的多播“服务器”,通过 MSMQ 与订阅者和发布者通信,要么需要选择更合适的技术 - 例如 ServiceBus for Windows、Rabbit MQ、Active MQ等。
【讨论】: