【发布时间】:2011-12-18 07:39:35
【问题描述】:
我有一个场景,大约 10 条不同的消息需要入队,然后出队/处理。一个订阅者需要全部 10 条消息,但另一个订阅者只需要 10 条消息中的 8 条。我试图了解设置这种架构的最佳方法是什么。您是否为每种消息类型创建一个队列,以便订阅者可以订阅相关队列,或者您是否将它们全部转储到同一个队列并忽略与该订阅者无关的消息?我想确保解决方案灵活/可扩展等。
流程:
- 10 条不同的 xml 消息将排队到 IBM WebSphere MQ 服务器。
- 我们将使用 .Net(很可能是 WCF,因为 WebSphere MQ 7.1 添加了 WCF 支持)
- 我们会将消息出列并将它们加载到另一个后端数据库(很可能是 SQL Server)。
- 解决方案需要很好地扩展,因为我们将处理非常大量的消息并且这可能会增长(可能 40-50,000/小时)。至少对我们来说很大。
一如既往地非常感谢您提供的信息。
--S
【问题讨论】:
-
需要忽略的消息有什么不同?这里有几个不同的选项——选择器、主题、属性。使用哪个取决于应用程序或 QMgr 如何区分哪些消息是相关的。
-
嗨@T.Rob 10 条消息的标题相同,但内容不同。因此,我们可以查看标头来确定消息的内容是否相关。底线是我们不希望订阅者之一收到的两条消息。
标签: c# wcf queue ibm-mq msmq-wcf