gpt4 book ai didi

jms - activemq 服务器如何知道何时将一个奴隶提升为主人?

转载 作者:行者123 更新时间:2023-12-04 19:50:43 26 4
gpt4 key购买 nike

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

enter image description here

简而言之,当master下来时,一个slave会被提升为master。但我不知道:

1、谁负责判断mater是否宕机,决定提升哪个slave?因为主人本身已经下来了。客户负责吗?如何?2、应该把哪个slave提升为master?有吗?

最佳答案

对于无共享(纯主从)设置,

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

与此同时,如果与客户端的连接也断开了(即 master 实际失败、崩溃、硬件中断、网络中断等),则客户端将重新连接到 slave 并在那里继续。

也就是说,如果已在客户端设置中配置:故障转移://(tcp://masterhost:61616,tcp://slavehost:61616)?randomize=false

这意味着一些事情

  • 一个master只能有一个slave
  • slave 不会“提升”为 master - 如果 master 宕机,它只是作为独立代理运行。
  • 如果主服务器在短暂中断后恢复在线,它将继续作为独立代理与从服务器并肩运行,并且设置可能会变得不同步。恢复有点痛苦,而且是手动的——即关闭每个代理,手动按文件复制运行时数据并重新启动它们。请注意,发生故障的 Master broker 不会重新连接到 slave 并自动成为新的 slave。

因此,shared nothing 状态主要适用于主从之间的网络连接极其稳定且每个节点的停机时间非常低的情况(即每年大约几次硬件故障保护)。

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

关于jms - activemq 服务器如何知道何时将一个奴隶提升为主人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11897974/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com