ActiveMQ需要很长时间才能进行故障转移

时间:2016-10-05 08:31:19

标签: activemq failover glusterfs

我在网络共享文件系统(GlusterFS)/主从配置中有3个ActiveMQ代理 - 全部在虚拟机中。
如果主服务器失败,客户端应该故障转移到新主服务器 我遇到的问题是与新主人的连接大约需要50秒 这是否合理?
如何改进?

我的客户端连接看起来像这样

failover:(tcp://a1:61616?connectionTimeout=1000,tcp://a2:61616?connectionTimeout=1000,tcp://a3:61616?connectionTimeout=1000)?randomize=false&maxReconnectDelay=10000&backup=true"

当通过断开网络电缆断开主设备时,它会停止并引发有关kahaDB(在GlusterFS上)的异常并需要重新启动。
是否存在此行为的解决方法,以便主代理自动重新启动或能够在网络恢复后自动连接?

1 个答案:

答案 0 :(得分:1)

故障转移取决于基础文件系统释放文件锁所用的时间。

在您的情况下,NFS群集等待50秒以检测第一个节点是否丢失,因此释放了对kahadb文件的锁定,然后可以由seconde节点进行。

您可以使用NFS服务器配置文件中的NFSD_V4_GRACENFSD_V4_LEASE参数(redhat / centos系统上的/etc/sysconfig/nfs)自定义此延迟。

您还可以自定义kahadb lockKeepAlivePeriod,请参阅http://activemq.apache.org/pluggable-storage-lockers.html