知识卡片

可用性与不丢消息的显式取舍开关

专业/工作 · 594.f

内容

当镜像队列所有slave都处于未同步状态时,master若被主动关闭(如执行停止命令),默认策略不会让未同步的slave接管,此时队列直接不可用,用不可用换取不丢消息;如果把策略改成”始终接管”,则不论什么原因停机都会让slave接管,优先保证服务可用,但未同步部分的消息可能会丢失。发散:这是CAP式权衡被做成一个业务可见的显式配置开关,而不是被架构悄悄替你决定——好的基础设施往往把这种”没有正确答案、只有取舍”的决策暴露出来交给使用方,而不是隐藏在实现细节里替用户擅自选边。

参考来源

《RabbitMQ实战指南》第9章《RabbitMQ高阶》