Skip to content

如何设计消息幂等 ​

题目 ​

消息幂等一般怎么设计?

参考答案 ​

常见方案:

  • 业务唯一流水号
  • 去重表 / 去重 key
  • 状态机判重

本质就是同一条消息多次执行,最终结果仍然一致。

回答展开 ​

  • MQ 题最好分成生产端、Broker、消费端三段来讲。
  • 如果涉及幂等、重试、顺序性,重点说明业务语义而不是只看消息语义。
  • 如果是 Kafka,还可以带上分区、副本、ISR 这些关键字。

实际场景 ​

比如订单创建、支付成功、发券通知这类消息链路,一旦出现重复消费、积压或消息丢失,都会直接影响业务结果,所以 MQ 治理非常关键。

努力工作 享受生活