activemq服务器如何知道何时将一个从服务器提升为主服务器?

时间:2012-08-10 08:28:43

标签: jms cluster-computing activemq

对于ActiveMq,无共享部署如下:

enter image description here

简而言之,当主人下来时,一名奴隶将被提升为主人。但我不知道:

1,谁负责确定母校是否已关闭,以确定应该推广哪个奴隶?因为大师本身已经下降了。客户负责吗?如何? 2,哪个奴隶应该晋升为主人?任何人?

1 个答案:

答案 0 :(得分:4)

对于无共享(Pure Master Slave)设置,

从从设备到主设备建立主连接。此连接同步主代理的状态。如果从从设备到主设备的网络主(同步)连接断开,即使是很短的时间,从属代理也将停止侦听复制并启动它自己的连接器(网络和客户端连接器)。

同时,如果与客户端的连接也被破坏(即主设备实际发生故障,崩溃,硬件故障,网络故障等),则客户端将重新连接到从设备并继续。

即,如果已在客户端设置中配置: 故障转移://(TCP:// MASTERHOST:61616,TCP:// slavehost:61616)?随机=假

这意味着一些事情

  • 只有一个奴隶可以附加到主人
  • 奴隶未被“提升”为主人 - 如果主人关闭,它只是作为一个独立的经纪人运作。
  • 如果主人在短暂的结束后重新上线,它将作为一个独立的经纪人与奴隶并排运行,并且设置可能会变得不同步。恢复有点痛苦,手动 - 即关闭每个代理,手动复制文件的运行时数据并重新启动它们。请注意,已失败的主代理将不会重新连接到从属服务器并自动成为新的从服务器。

因此,当主站和从站之间的网络连接非常稳定并且每个节点的停机时间非常短时(即每年几次保护硬件故障几次),无共享状态是可用的。

如果可能,我会使用其他一些故障转移方法,共享磁盘,master + master等。