我想知道是否可以将MQ Sender通道指向F5负载均衡器VIP地址,而不是指向具体的MQ服务器IP地址,并将消息传递给F5集群中的两个MQ服务器之一资源组。 F5集群中有两个MQ服务器。
我尝试做的是确定是否可以在更多硬件上使用此方法代替创建MQ群集网关队列管理器,并使用F5 LB功能将消息传递到群集队列。
如果我可以利用F5负载平衡,我认为它会模拟MQ Cluster Gateway Queue管理器。
它会起作用吗?缺陷?
答案 0 :(得分:0)
您正在查看此配置的几个问题:
TRIGGER
)时启动,并保持运行直到消息在断开间隔({{ 1}})。因此,您不会在F5后面的两个队列管理器之间看到消息的工作负载平衡。根据您配置F5的方式以及设置断开间隔的时间长短,您将看到一组消息转到一个队列管理器,然后一组消息转到另一个队列管理器。每个组中的邮件数量取决于与发件人渠道设置相比的流量模式。请注意,即使将发件人通道配置为仅连接到两个群集队列管理器中的一个,如果将群集工作负载使用队列(DISCINT
)设置为CLWLUSEQ
的值,在群集队列中,您可以在队列的两个实例之间仍然存在循环消息。这将要求您在发件人通道队列管理器上具有远程队列(ANY
),将远程队列管理器别名(QREMOTE
)指定为远程队列管理器名称(RQMA
)值。然后,RQMA将允许消息解析到包括本地实例的群集队列的任何实例。下面是Sender队列管理器(RQMNAME
)和Receiver(第一个集群)队列管理器(SQMGR
)和第二个集群队列管理器(CQMGR1
)的对象示例:
<强> SQMGR:强>
CQMGR2
<强> CQMGR1:强>
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) .....
<强> CQMGR2:强>
DEFINE CHL(SQMGR.CQMGR1) CHLTYPE(RCVR) MCAUSER('notmqm') .....
DEFINE QREMOTE(CLUSTER.RQMA) RNAME('') RQMNAME('') XMITQ('')
DEFINE QLOCAL(CQLOCAL) CLUSTER('YOURCLUSTER') CLWLUSEQ(ANY)