| 交付语义 | 至少一次、至多一次、精确一次(实现成本递增) |
|---|---|
| 治理要点 | 重复消费幂等、积压监控、死信队列 |
| 常见载体 | Kafka、RabbitMQ、Pulsar、云消息服务 |
投递语义对照
| 语义 | 机制 | 代价 |
|---|---|---|
| 至多一次 | 发出即忘 | 可能丢消息 |
| 至少一次 | 重试直到确认 | 可能重复,需要消费端幂等 |
| 精确一次 | 事务或去重配合 | 实现复杂,适用范围内有效 |
“至少一次 + 消费端幂等”是工程上使用广泛的组合;精确一次通常限定在特定组件范围内。
发布者把消息发送到主题,多个订阅者各自消费;解耦生产者与消费者,支持一对多广播与异步削峰,代价是消息顺序、重复消费与积压治理。
| 交付语义 | 至少一次、至多一次、精确一次(实现成本递增) |
|---|---|
| 治理要点 | 重复消费幂等、积压监控、死信队列 |
| 常见载体 | Kafka、RabbitMQ、Pulsar、云消息服务 |
| 语义 | 机制 | 代价 |
|---|---|---|
| 至多一次 | 发出即忘 | 可能丢消息 |
| 至少一次 | 重试直到确认 | 可能重复,需要消费端幂等 |
| 精确一次 | 事务或去重配合 | 实现复杂,适用范围内有效 |