我们正在实施一个MQ / IIB架构,我们将在两个RHEL服务器上分别拥有一个QM和一个Broker,彼此负载均衡以划分传入流量。 我们有消费者应用程序通过JMS绑定文件连接我们的服务器。我们还在其上运行了IIB应用程序。
现在,由于一个绑定文件在创建连接工厂时只能有一个QMGR名称,因此不建议在每个服务器上保留不同的QM / Broker名称。由于此绑定文件将与消费者共享,因此必须具有唯一的QM名称。 但是如果我们在每台服务器上都有相同的QM / Broker名称,那么IIB记录和重放工具上的所有日志都将有一个Broker名称(来自两个服务器),这也很难确定哪个服务器实际为传入请求提供服务。
请您在这种情况下建议最好的方法吗? 或者建议是否可以修改上述方法以实现我们的目标。
答案 0 :(得分:1)
通常,拥有两个具有相同名称的队列管理器并不是一个好习惯。出于你所说的原因,IIB经纪人也是如此。
在Binding文件中,您可以将QMANAGER
留空(null)。这将允许应用程序连接到任何侦听您指定的HOSTNAME
和PORT
的队列管理器。
如果2台RHEL服务器上的队列管理器使用相同的端口,您甚至可以将主机名设置为localhost,并在两台服务器上使用相同的绑定文件。
如果两个队列管理器都在同一端口上侦听,则示例如下:
DEFINE CF(CF_NAME) QMANAGER() TRANSPORT(CLIENT) CHANNEL(MY.SVRCONN) HOSTNAME(localhost) PORT(1414)