知识卡片
镜像队列重启会导致master悄悄漂移集中
内容
配置了全镜像的集群在经历多轮”关闭再重启”节点的操作后,队列的master会不知不觉地全部集中漂移到某一个节点上——因为每次某节点关闭时,它上面的master角色会转移给同分区里资历最老的slave,而重启只会补充新的slave,不会把master角色抢回来;如果所有节点都被重启过一轮,最后重启的那个节点自然继承了所有队列的master角色。发散:这是”看似无害的重复操作累积出系统性失衡”的典型例子——单次重启本身完全正常,但当同一类操作被多次施加在不同节点上时,某种隐藏的单调性(这里是”master只会被新节点接管、不会主动均衡”)会把系统慢慢推向一个原本没人设计过的失衡状态。
参考来源
《RabbitMQ实战指南》第10章《网络分区》