20.12.6. HornetQ 消息复制
警告
只有持久性消息才会被复制。非持久性消息无法通过失效切换保留。
当在线服务器和备份服务器不共享相同的数据存储时,它们之间的消息复制是通过网络实现的。所有的日志都在两个服务器间进行复制,只要这两个服务器位于相同的群集里且使用相同的群集用户名和密码。在线服务器接收的所有(持久性的)数据流量都会复制到备份服务器上。
当备份服务器在线时,它会查找并连接在线服务器以试图进行同步。在它进行同步时,它无法作为备份服务器访问。取决于要同步的数据的大小及网络速度,同步可能需要较长的时间。如果备份服务器在线且没有在线服务器可用,备份服务器将等待,直至群集里的在线服务器可用。
要启用服务器复制数据,您必须在
standalone-full-ha.xml
文件里定义相关的一个链接。备份服务器只会用相同的组名复制在线服务器。组名必须在每台服务器的 standalone-full-ha.xml
文件中的 backup-group-name
参数里进行定义。
在在线服务器发生故障的情况下,正确配置和完全同步的备份服务器将接管其职责。备份服务器将在在线服务器发生故障而备份服务器可以连接群集里一半以上的服务器时激活。如果多过半数的服务器无法响应,它将指示网络错误,备份服务器将等待到在线服务器的连接重试。
要在失效切换后恢复到原始状态,您有必要启动在线服务器并等待它和备份服务器完全同步。当这一步完成后,您可以关闭备份服务器以让原始的在线服务器再次激活。如果设置
allow-failback
属性为 true,这一步会自动完成。