请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

对于冗余节点的疑问。

假设集群有3个rabbitMQ节点,队列a在rabbitMQ节点1上,然后通过镜像队列冗余到节点2和节点3。
应用通过客户端负载均衡和集群通信。
这时候节点1宕机了,此时应用再向队列a投递消息,该消息还能投递成功吗?
假如投递成功,是投递到冗余节点2和节点3任意一个节点吗?
节点1恢复后,又会是怎么个处理过程?

正在回答 回答被采纳积分+3

1回答

Moody 2021-05-10 09:44:16
  1. 节点1宕机,存活最久的 Slave 节点会提升自己为 master 节点,消息投递会成功的

  2. 投递到哪个节点取决于谁是新master

  3. 节点1恢复后,会作为slave,重新加入集群

0 回复 有任何疑惑可以回复我~
  • 提问者 慕沐3053333 #1
    在您所说的第一点中:节点1宕机,存活最久的 Slave 节点会提升自己为 master 节点。应用通过客户端负载均衡和集群通信,应用发现节点1宕机,是不是会向节点2或者节点3任意一个节点投递消息,而不管节点2是master,还是节点3是master,因为MQ节点会转发数据。是吗?
    回复 有任何疑惑可以回复我~ 2021-05-14 01:01:15
  • Moody 回复 提问者 慕沐3053333 #2
    是的。
    回复 有任何疑惑可以回复我~ 2021-05-14 12:55:19
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信