我是IBM MQ新手,但过去曾使用其他消息系统(Solace,RabbitMQ,BizTalk)。如果我的某些MQ术语在本地/远程/传输队列等方面不正确,我深表歉意。
我正在使用MQ与第三方集成。在涉及第三方时,我无法控制MQ的使用。它们定义了集合集模式。
- 我有自己的本地队列管理器。
- 第三方支持多种不同的消息类型。
- 通常,发送给他们的每封邮件都会产生回复
- 对超额的回复将在0.5s(商定的SLA)
内送回我的QM
基本模型如下;
- 对于我发布到单个队列的所有出站消息传递
- 所有回复都来自我的QM上的单个入站队列
- 我不相信他们尊重/使用ReplyToQ或ReplyToQmgr标题属性
用例的高级概述;
- MQ使用率非常活跃。每秒可能有500-1000个出站邮件
- 对于绝大多数这些 - 将有用户等待回复
- 当前的设计方法是将消息放入出站队列,然后使用相关ID使用JMS选择器创建对入站队列的预订。
这是我的挑战;
- 我不确定在单个入站队列中是否有这么多并发订阅都具有唯一的过滤器将表现良好。我很欣赏这方面的见解。我有一个在docker容器中运行的2节点集群。我还没有关于规范的详细信息。
- 我的偏好是让邮件进入入站队列,然后路由到许多"功能" QM上的特定本地队列。
- 我仍然会在此模型中的消息ID上使用JMS选择器 - 但是我希望负载可以从单个深层队列扩展到更短的队列
- 如果没有像MQ Integration Broker或ESB(WebSphere套件中的其他一些产品)这样的插件,我似乎无法在MQ中本地路由消息。
在最后一点,我可以使用一些指导。我可以在QM内路由吗?如果是这样 - 我有什么选择。或者 - 也许还有更好的方法,我没有考虑过?
任何指导都会非常感激!!