我想知道是否有可能将MQ发件人通道指向F5负载均衡器VIP地址,而不是具体的message地址,并将消息传递到F5群集资源组中的两个MQ服务器之一。F5集群中有两个MQ服务器。
我要做的是确定是否可以在更多硬件上使用此方法来代替创建MQ集群网关队列管理器,并使用F5 LB特性将消息传递到集群队列。
如果我能够利用F5负载平衡,我认为它会模拟一个MQ集群网关队列管理器。
能行吗?陷阱?
发布于 2017-08-05 05:35:31
您将看到这个配置中的几个问题:
TRIGGER)时启动,并一直运行直到消息在断开连接间隔(DISCINT)上指定的时间内尚未发送为止。因此,您将不会看到F5后面的两个队列管理器之间的消息工作负载平衡。根据配置F5的方式以及断开间隔设置为多长时间,您将看到一组消息要转到一个队列管理器,然后一组消息将转到另一个队列管理器。与发送方通道设置相比,每个组中的消息数量将取决于通信量模式。请注意,即使发件人通道配置为只连接到两个群集队列管理器中的一个,如果将群集工作负载使用队列(CLWLUSEQ)设置为群集队列的ANY值,则可以在队列的两个实例之间保持消息循环。这需要将发件人通道队列管理器上的远程队列(QREMOTE)指定一个远程队列管理器别名(RQMA)作为远程队列管理器名称(RQMNAME)值。然后,RQMA将允许消息解析到集群队列的任何实例,包括本地实例。以下是发送队列管理器(SQMGR)和接收方(第一个集群)队列管理器(CQMGR1)和第二个集群队列管理器(CQMGR2)的对象示例:
SQMGR:
DEFINE QREMOTE(TO.CQLOCAL) RNAME(CQLOCAL) RQMNAME(CLUSTER.RQMA) XMITQ(CQMGR1)
DEFINE QLOCAL(CQMGR1) USAGE(XMITQ) INITQ(SYSTEM.CHANNEL.INITQ) TRIGDATA(SQMGR.CQMGR1) TRIGGER .....
DEFINE CHL(SQMGR.CQMGR1) CHLTYPE(SDR) XMITQ(CQMGR1) CONNAME(10.20.30.40) .....CQMGR1:
DEFINE CHL(SQMGR.CQMGR1) CHLTYPE(RCVR) MCAUSER('notmqm') .....
DEFINE QREMOTE(CLUSTER.RQMA) RNAME('') RQMNAME('') XMITQ('')
DEFINE QLOCAL(CQLOCAL) CLUSTER('YOURCLUSTER') CLWLUSEQ(ANY)CQMGR2:
DEFINE QLOCAL(CQLOCAL) CLUSTER('YOURCLUSTER') CLWLUSEQ(ANY)https://stackoverflow.com/questions/45494322
复制相似问题