高可用性数据库
高可用的数据库可在较大程度上进行扩展,且依赖于始终运行的关系数据库管理系统 (RDBMS)。将高可用的数据库选作消息传递引擎的数据存储器时,会存在一些限制。
具有高可用性框架或功能的数据库可能具有冗余主服务器和备服务器。如果您正在使用此类数据库作为数据存储器,那么需要执行某些特定操作:
- 确保当备用数据库接替主数据库工作时,主数据库和备用数据库相同,除非在连接路由到备用数据库之前停止并重新启动了消息传递引擎。 如果数据库客户机(如消息传递引擎)由系统从主数据库路由到备用数据库,那么消息传递引擎依赖于两个数据库中的相同的数据。
- 不要使用可使应用程序共享消息传递引擎使用的 JDBC 连接的一阶段落实优化。
如果使用 DB2® 的高可用性数据恢复 (HADR) 功能,请注意以下限制:
- 消息传递引擎缺省消息传递提供程序仅支持 HADR 的同步和近乎同步的同步方式。缺省消息传递提供程序不支持异步 HADR 配置。
- 仅当备用数据库处于对等状态,或备用数据库上次从对等状态更改为其当前状态(如断开连接状态)时,才允许执行 TAKEOVER BY FORCE 命令。
如果配置 WebSphere® Application Server 以将高度可用的数据库用作数据存储器,且数据库发生故障转移,那么在其上运行消息传递引擎的应用程序服务器可能会停止。发生此问题的原因是消息传递引擎无法总是将故障转移视为瞬态通信错误。
当配置消息传递引擎以将高可用的数据库用于其数据存储器时,请确保在发生应用程序服务器故障后,消息传递引擎可自动重新启动。选择适用于您的配置的选项:
- 如果正在运行单个服务器,那么 WebSphere Application Server 不会提供故障转移支持。考虑其他高可用性供应。
- 如果正在运行 WebSphere Application Server Network Deployment,而没有进行集群,那么 Node Agent 的缺省配置可确保自动重新启动。
- 如果正在运行 WebSphere Application Server Network Deployment,且进行了集群,那么对等恢复将重新启动消息传递引擎。确保您已配置高可用性策略以启用对等恢复。