Skip to content

如何保证消息不丢失 ​

题目 ​

如何保证消息不丢失?

参考答案 ​

要从 3 端一起保证:

  • 生产端:发送确认
  • Broker:持久化和副本
  • 消费端:消费成功后再 ack / 提交 offset

少了任何一个环节,都可能丢消息。

回答展开 ​

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

实际场景 ​

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

努力工作 享受生活