我对 MSMQ 有点陌生,需要一些帮助。我们有一个基于 JMS 的消息系统,我们正在考虑用 MSMQ 替换它。 JMS 中有 2 个现有方案,我需要验证 MSMQ 是否支持。
- 同一消息的多个订阅者应用程序。
- 向订阅者应用程序发送消息已到达他们的通知。 (基本上是 MSMQ 将消息推送到订阅者应用程序,而不是订阅者应用程序检查 MSMQ 中的队列)
如果有人可以提供任何信息或指向具有相关信息的任何网站的链接,我将不胜感激。
谢谢,
塔里克
最佳答案
Multiple Subscriber Applications for the same message.
您可以使用 Multiple-Destination Messaging 执行此操作
Notification send to a Subscriber Application that a message has arrived for them.
为此使用异步模式,您开始监听消息并在消息到达时收到通知(C# 方法,例如代码示例中的 MyReceiveCompleted
)。从个人经验来看,这比以同步方式逐一阅读要慢。但是,如果您在任意平均机器上每秒处理少于 1k 条消息,您会没事的。
参见 MessageQueue.BeginReceive代码示例。
关于MSMQ - 多个订阅者和事件通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17600547/