消息队列

message_queue2026-10-16 18:03:58

消息队列在生产者与消费者之间保存、转交消息,用于异步处理、削峰或降低直接调用耦合。

引入后的变化

请求可以先登记任务再由消费者处理,但发送成功、代理接收、消费者收到和业务完成是不同状态。队列长度增加通常意味着生产和消费速率失衡,并不代表系统已经可靠完成了工作。

设计问题

应明确消息保留、确认、重投、并发、顺序和失败处理。队列会增加延迟、重复及运维复杂度,不能为了“解耦”省略任务结果查询或补偿。

具体保证取决于产品、队列类型和配置。以 RabbitMQ 为例,持久性、生产确认和消费确认共同影响故障后的行为,单独声明 durable 并不包含所有可靠性条件。

参考资料

本页目录