20.12. 高可用性
20.12.1. 高可用性简介
HornetQ 支持在一个或多个服务器发生故障后继续运行。这种功能部分是通过失效切换实现的,客户在在线服务器发生故障时从在线服务器移植到备份服务器。要保持备份服务器更新,消息持续地通过两个策略从在线服务器复制到备份服务器:共享存储(shared store)和复制(replication )。
有两种高可用性拓扑类型:
在 Collocated Topology 结构里,只要在线 HornetQ 服务器(在线/配对的一部分)发生故障,备份服务器将接管并变成活动服务器。当备份 HornetQ 服务器在失效切换时关闭的情况下,备份服务器上配置的目的地和连接工厂都会从 JNDI 上取消绑定。
Dedicated Topology
:这个拓扑结构由两个 EAP 服务器组成。在第一个服务器里 HornetQ 被配置为在在线服务器。在第二个服务器里 HornetQ 被配置为备份服务器。将 HornetQ 配置为备份服务器的 EAP 服务器,将只充当 HornetQ 容器。这个服务器是不活动的,它无法容纳部署,如 EJB、MDB 或 Servlet。Collocated Topology
:这个拓扑结构包含两个 EAP 服务器。每个 EAP 服务器都包含两个 HornetQ 服务器(在线和备份服务器)。第一个 EAP 服务器上的 HornetQ 在线服务器和第二个 EAP 服务器上的 HornetQ 备份服务器组成了一个在线/备份配对。而第二个 EAP 服务器上的 HornetQ 在线服务器和第一个 EAP 服务器上的备份服务器组成了另外一个在线/备份配对。
JNDI 是和其他在线 HornetQ 服务器(其他在线/备份配对的一部分)共享的。因此,从 JNDI 取消目的地和连接工厂的绑定也会从这个在线 HornetQ 服务器取消目的地和连接工厂的绑定。
重要
Collocated 备份服务器的配置不能包含目的地或连接工厂的配置。
注意
下面的信息引用了
standalone-full-ha.xml
。配置的修改也适用于 standalone-full-ha.xml
,或从中衍生的任何配置文件。