【发布时间】:2014-03-21 05:22:47
【问题描述】:
我们正在努力建立一个架构,我们将有两个处理应用程序需要从一个队列接收信息(它们将以完全不同的方式使用数据)。在这种情况下,IBM WebSphere MQ 的最佳实践/前进路径是什么?
- Pub / Sub - 一个发布者和“n”个订阅者?
- 管理我们 MQ 的人员建议使用扇出(从命名列表读取并分发到多个队列的触发器)- 这对我们来说似乎不是一个好主意。
- 其他?
任何建议或意见将不胜感激。
【问题讨论】:
标签: ibm-mq
我们正在努力建立一个架构,我们将有两个处理应用程序需要从一个队列接收信息(它们将以完全不同的方式使用数据)。在这种情况下,IBM WebSphere MQ 的最佳实践/前进路径是什么?
任何建议或意见将不胜感激。
【问题讨论】:
标签: ibm-mq
决定使用 Pub/Sub 并不是因为队列没有帮助......
如果您的场景是请求-响应类型的场景,那么在大多数情况下排队是最合适的。
如果您的场景将动态添加(或删除)许多消费者,那么 Pub-Sub 会有所帮助。
我认为您正在做的是将消息路由到知名消费者。如果将来需要处理更多路由和转换案例,您可以使用 IBM Integration Bus。如果路由像这样简单,发送方可以将消息发送到队列,然后程序可以从事务上下文中读取消息并将这些消息发送到 2 个不同的队列。 JMS 的消息监听器可以帮助进行异步处理。
看看这个模式http://www.eaipatterns.com/MessageRouter.html。我想它与你正在做的事情相匹配。
【讨论】:
我向我的一位 WebShere MQ 联系人提出了这个问题,这是他的回答。认为它可能会帮助其他人。
“如果处理消息的应用程序数量预计会增加并且消息传递模式不是请求/响应,则使用 pub/sub 架构。否则使用包含两个队列的名称列表,应用程序从这些队列中接收消息。请查看amqsptl0.c 示例,了解有关如何将消息放入名单的详细信息。”
--S
【讨论】: