我有一个名为 inventory 的集群,其中包含 4 个队列管理器,分别定义为 london、paris、newyork、tokyo。如果 london 和 paris 是获取消息的默认队列管理器,我如何使 newyork 和 tokyo 作为默认接收并且不允许客户端将消息放在 london 和 paris 上,但它们仍然应该在集群中。这可以通过工作负载管理来实现吗?
如果还有其他解决方案,请告诉我。所有这些都应该在客户端不做任何更改的情况下完成。
谢谢
我有一个名为 inventory 的集群,其中包含 4 个队列管理器,分别定义为 london、paris、newyork、tokyo。如果 london 和 paris 是获取消息的默认队列管理器,我如何使 newyork 和 tokyo 作为默认接收并且不允许客户端将消息放在 london 和 paris 上,但它们仍然应该在集群中。这可以通过工作负载管理来实现吗?
如果还有其他解决方案,请告诉我。所有这些都应该在客户端不做任何更改的情况下完成。
谢谢
在此处添加 T.Rob 的建议是您可以查看的几个选项:
london
在和中禁用放置集群队列实例paris
。因此消息将在newyork
和之间分发tokyo
。
编写一个集群工作负载平衡出口,该出口将跳过将消息放入 和 中的集群队列,london
而仅将消息放入和paris
中的集群队列实例。newyork
tokyo
请参阅MQ 7 文档中的编写和编译集群工作负载出口。
重要的是要记住,WebSphere MQ 集群提供了一个上下文来告诉队列管理器如何在它们之间进行对话。另一方面,客户端完全不知道集群。必须明确告知客户端要连接到哪个队列管理器。
在您的情况下,在配置客户端时为他们提供newyork
和tokoyo
QMgrs 的连接详细信息,他们不会连接到london
or paris
。假设所有这些 QMgrs 都在一个 WebSphere MQ 集群中,来自客户端的消息将能够解析到驻留在london
和上的集群队列paris
。