知识卡片

确认沿链路逐段传递

专业/工作 · 593.c

内容

Federation([[Federation解决跨地域确认延迟]])/Shovel([[用Shovel做消息堆积的临时泄洪]])转发链路上的确认模式(ack_mode)默认是on-confirm:只有在收到下游的确认之后,才向上游确认收到了这条消息,一环扣一环。这比让下游直接绕过中转独立确认上游更省事——每一跳只需要对相邻的一跳负责,不需要知道链路的全貌,可靠性通过局部确认逐段传递到最上游,任何一环没确认,前面的环节都不会误判为已送达。发散:这是分布式流水线里常见的处理方式——用相邻节点间的局部契约替代端到端的全局契约,链路可以任意延伸而不需要每个环节都感知整体拓扑。

参考来源

《RabbitMQ实战指南》第8章《跨越集群的界限》