#误区 1:Producer 是直接发到 Queue 的
不对。
经典心智下,Producer 发到 Exchange,Exchange 再路由到 Queue。
“直接发队列”只是默认交换机制造的表象。
#误区 2:一个队列绑了多个消费者,等于广播给多个系统
不对。
同一个队列上的多个消费者,通常是竞争消费。
一个货架,多个派送员抢着拿活
不是一个包裹复印多份如果你要广播,就该让交换机绑定多个队列。
#误区 3:durable 就等于绝不会丢
不对。
至少要一起考虑:
- durable queue
- persistent message
- publisher confirms
- consumer ack
- 幂等处理
分布式系统里,追求的是更可靠,不是神话式“零风险”。
#误区 4:requeue=True 就是重试系统
不对。
它更像“立刻退回原货架”,容易热循环。
更稳妥的基础方案通常是“TTL + DLX + retry queue”。
#误区 5:死信队列就是垃圾桶
不对。
死信是异常分流通道,是运维、补偿、人工介入的重要入口。
设计得好,它是“问题可观测性中心”。
#误区 6:RabbitMQ 就是小号 Kafka
不对。
它们的默认设计重心不同。
RabbitMQ:把活派给谁做
Kafka:把事按时间写下来,谁都能自己反复看