当我阅读 Websphere MQ 中的 HA 时,我总是直言不讳,最佳实践是创建两个队列管理器来处理同一个队列并使用开箱即用的负载平衡。因此,当一个人倒下时,另一个人会接替他的工作。
好吧,这很好,但是队列中属于宕机的队列管理器的消息呢?我的意思是这些消息是否驻留在那里(当然当队列是持久的时)直到 QM 重新启动并运行?
此外,是否可以为这个双倍队列管理器创建一个公共存储?然后没有消息会等待 QM 启动。每条消息都将以正确的顺序传递。这个对吗?
当我阅读 Websphere MQ 中的 HA 时,我总是直言不讳,最佳实践是创建两个队列管理器来处理同一个队列并使用开箱即用的负载平衡。因此,当一个人倒下时,另一个人会接替他的工作。
好吧,这很好,但是队列中属于宕机的队列管理器的消息呢?我的意思是这些消息是否驻留在那里(当然当队列是持久的时)直到 QM 重新启动并运行?
此外,是否可以为这个双倍队列管理器创建一个公共存储?然后没有消息会等待 QM 启动。每条消息都将以正确的顺序传递。这个对吗?
WebSphere MQ 根据您的要求为 HA 提供不同的功能。WebSphere MQ 集群使用并行性在队列的多个实例之间分配负载。这提供了服务的可用性,但不适用于飞行中的消息。
硬件集群和多实例队列管理器 (MIQM) 都是使用队列管理器的多个实例的设计,这些实例可以看到该队列管理器状态的单个磁盘映像。这些提供了正在运行的消息的可用性,但在集群故障转移时服务暂时不可用。
结合使用这些,可以提供飞行中消息的恢复以及跨多个队列实例的服务可用性。
在硬件集群模型中,磁盘仅安装到一台服务器,集群软件监控故障并将磁盘、IP 地址和可能的其他资源交换到辅助节点。这需要诸如 PowerHA 之类的硬件集群监视器来管理集群。
Multi-Instance QMgr 完全在 WebSphere MQ 中实现,不需要其他软件。它的工作原理是让 QMgr 的两个运行实例指向同一个 NFS 4 共享磁盘安装。两个实例都在争夺文件的锁。第一个获得锁的成为活动 QMgr。因为没有硬件集群监视器来执行 IP 地址接管,这种类型的集群将有多个 IP 地址。任何现代版本的 WMQ 都允许使用多实例来实现这一点CONNAME
,您可以在其中提供以逗号分隔的 IP 或 DNS 名称列表。以前使用客户端通道定义表 (CCDT) 来管理跨多个 QMgrs 的故障转移的客户端应用程序将继续工作,并且当前版本的 WMQ 继续支持 CCDT。
有关硬件集群和 MIQM 支持的详细信息,请参阅信息中心主题将 WebSphere MQ 与高可用性配置一起使用。
客户渠道定义表文件在信息中心主题客户渠道定义表文件中进行了讨论。