17.9. 消息复制
17.9.1. HornetQ 消息复制 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
HornetQ 支持在一个或多个服务器发生故障后继续运行。这种功能部分是通过失效切换实现的,客户在在线服务器发生故障时从在线服务器移植到备份服务器。要保持备份服务器更新,消息持续地通过两个策略从在线服务器复制到备份服务器:共享存储(shared store)和复制(replication )。本节将涵盖复制策略。
警告
只有持久性消息才会被复制。非持久性消息无法通过失效切换保留。
当在线服务器和备份服务器不共享相同的数据存储时,它们之间的消息复制是通过网络实现的。所有的日志都在两个服务器间进行复制,只要这两个服务器位于相同的群集里且使用相同的群集用户名和密码。在线服务器接收的所有(持久性的)数据流量都会复制到备份服务器上。
当备份服务器在线时,它会查找并连接在线服务器以试图进行同步。在它进行同步时,它无法作为备份服务器访问。取决于要同步的数据的大小及网络速度,同步可能需要较长的时间。
备份服务器如何查找在线服务器并复制数据取决于
hornetq-configuration.xml
文件里是否已定义 backup-group-name
参数。备份服务器只能连接共享相同组名的在线服务器。未指定这个参数时,备份服务器将试图连接任何在线服务器。
在在线服务器发生故障的情况下,正确配置和同步的备份服务器将接管其职责。备份服务器将在在线服务器发生故障且无法连接却又可以连接群集里一半以上的服务器时运行。如果多过半数的服务器无法响应,它将指示网络错误,备份服务器将等待到在线服务器的连接重试。