知识卡片

联邦交换器与联邦队列不同

专业/工作 · 593.b

内容

联邦交换器(内部拼装方式见[[联邦交换器靠旧原语拼装]])默认只转发一次(max_hops=1),本质是把发布行为原样广播到远端交换器,多个交换器可以互为上游拼成扇出或环形拓扑,但同一条消息不会在同一个Broker上出现两次。联邦队列则相反:只有当本地队列没有消息堆积、消费者即将空闲时,才会主动向上游队列拉取消息,且消息可以在互为联邦的队列之间无限次游离——这不是路由广播,而是一种跨节点的懒加载式负载均衡,让多余的消费能力自动”吸”走堆积的消息。发散:同样叫”联邦”,一个做的是内容分发,一个做的是负载调度,命名相似但解决的是完全不同层面的问题,不能望文生义。

参考来源

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