采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
假设集群有3个rabbitMQ节点,队列a在rabbitMQ节点1上,然后通过镜像队列冗余到节点2和节点3。 应用通过客户端负载均衡和集群通信。 这时候节点1宕机了,此时应用再向队列a投递消息,该消息还能投递成功吗? 假如投递成功,是投递到冗余节点2和节点3任意一个节点吗? 节点1恢复后,又会是怎么个处理过程?
节点1宕机,存活最久的 Slave 节点会提升自己为 master 节点,消息投递会成功的
投递到哪个节点取决于谁是新master
节点1恢复后,会作为slave,重新加入集群
在您所说的第一点中:节点1宕机,存活最久的 Slave 节点会提升自己为 master 节点。应用通过客户端负载均衡和集群通信,应用发现节点1宕机,是不是会向节点2或者节点3任意一个节点投递消息,而不管节点2是master,还是节点3是master,因为MQ节点会转发数据。是吗?
是的。
登录后可查看更多问答,登录/注册
消息驱动架构+订单状态机,二次开发,手写分布式事务框架。
1.0k 11
1.0k 8
876 7
3.4k 7
847 6