Websphere MQ和高可用性

时间:2012-09-26 08:00:16

标签: ibm-mq high-availability

当我在Websphere MQ中读到HA时,我总是想到这一点,最佳做法是创建两个处理相同队列的队列管理器并使用开箱即用的负载平衡。因此,当一个人失败时,另一个人接管他的工作。

嗯,这很棒,但队列中属于队列管理器的消息怎么样呢?我的意思是这些消息驻留在那里(当队列当然是持久的),直到QM启动并再次运行?

此外,是否可以为这个加倍的队列管理器创建一个公共存储?然后没有消息会等待QM上升。每条消息都将以正确的顺序传递。这是对的吗?

1 个答案:

答案 0 :(得分:6)

WebSphere MQ根据您的要求为HA提供不同的功能。 WebSphere MQ集群使用并行性来跨队列的多个实例分配负载。这提供了服务的可用性,但不提供正在进行的消息。

硬件集群和多实例队列管理器(MIQM)都是使用队列管理器的多个实例设计的,这些实例可以看到该队列管理器状态的单个磁盘映像。这些提供了的正在进行的消息,但在群集故障转移时服务暂时不可用。

结合使用这些功能,可以在多个队列实例中提供正在进行的消息恢复以及服务的可用性。

在硬件群集模型中,磁盘仅安装到一个服务器,并且群集软件监视故障并将磁盘,IP地址和可能的其他资源交换到辅助节点。这需要PowerHA等硬件集群监视器来管理集群。

多实例QMgr完全在WebSphere MQ中实现,不需要其他软件。它的工作原理是让两个运行的QMgr实例指向同一个NFS 4共享磁盘安装。两个实例都争夺文件锁。获得锁的第一个成为活动的QMgr。由于没有硬件集群监视器来执行IP地址接管,因此这种类型的集群将具有多个IP地址。任何现代版本的WMQ都允许使用多实例CONNAME,您可以在其中提供以逗号分隔的IP或DNS名称列表。先前使用客户端通道定义表(CCDT)管理跨多个QMgrs的故障转移的客户端应用程序将继续工作,并且当前版本的WMQ继续支持CCDT。

有关硬件群集和MIQM支持的详细信息,请参阅信息中心主题Using WebSphere MQ with high availability configurations

客户端渠道定义表文件在信息中心主题Client Channel Definition Table file中讨论。