![[UNIX、Linux、Windows、IBM i]](ngmulti.gif)
通道和客户机重新连接
在备用队列管理器实例处于活动状态后,通道和客户机重新连接是复原消息处理的重要部分。
多实例队列管理器实例安装在具有不同网络地址的服务器上。 您需要为 IBM® MQ 通道和客户机配置所有队列管理器实例的连接信息。 当备用数据库接管时,客户机和通道将自动重新连接到位于新网络地址的新活动队列管理器实例。 IBM MQ classes for Java不支持自动客户机重新连接。
此设计与 HA-CMP 等高可用性环境的工作方式不同。 HA-CMP 为集群提供虚拟 IP 地址,并将该地址传输到活动服务器。 IBM MQ 重新连接不会更改或重新路由 IP 地址。 它通过使用您在通道定义和客户机连接中定义的网络地址重新连接来工作。 作为管理员,您需要定义通道定义中的网络地址以及与任何多实例队列管理器的所有实例的客户机连接。 配置多实例队列管理器的网络地址的最佳方法取决于连接:
- 队列管理器通道
- 通道的 CONNAME 属性是连接名称的逗号分隔列表; 例如,
CONNAME('127.0.0.1(1234), 192.0.2.0(4321)')。 将按连接列表中指定的顺序尝试连接,直到成功建立连接为止。 如果没有成功的连接,那么通道会尝试重新连接。 - 集群通道
通常,无需其他配置即可使多实例队列管理器在集群中工作。
如果队列管理器连接到存储库队列管理器,那么存储库将发现队列管理器的网络地址。 它引用队列管理器中
CLUSRCVR通道的 CONNAME 。 在 TCPIP 上,队列管理器会自动设置 CONNAME (如果省略) 或将其配置为空白。 备用实例接管时,其 IP 地址会将先前活动实例的 IP 地址替换为 CONNAME。如果需要,可以使用队列管理器实例的网络地址列表来手动配置 CONNAME 。
- 客户机连接
- 客户机连接可以使用连接列表或队列管理器组来选择备用连接。
发生故障转移时,重新连接需要一些时间。 备用队列管理器必须完成其启动。 连接到失败队列管理器的客户机必须检测连接失败,并启动新的客户机连接。 如果新客户机连接选择新活动的备用队列管理器,那么客户机将重新连接到同一队列管理器。
如果客户机在重新连接期间处于 MQI 调用的中间,那么它必须允许在调用完成之前进行长时间等待。
如果在消息通道上的批处理传输期间发生故障,那么将回滚并重新启动批处理。
切换比故障转移更快,仅需要停止队列管理器的一个实例并启动另一个实例。 对于只有少量日志记录要重放的队列管理器,最多可能需要几秒钟的时间进行转换。 要估算故障转移所花费的时间,您需要添加检测到故障所花费的时间。 根据网络和文件系统的不同,检测最多需要 10 秒,可能需要几分钟。