Kafka如何保证消息不丢失

82 阅读1分钟

需要从三个层面去解决这个问题:

1、生产者发送消息到Brocker丢失

  • 设置异步发送,发送失败使用回调进行记录或重发
  • 失败重试,参数配置,可以设置重试次数

2、消息在Brocker中存储丢失

发送确认acks,选择all,让所有的副本都参与保存数据后确认

3、消费者从Brocker接收消息丢失

  • 关闭自动提交偏移量,开启手动提交偏移量
  • 提交方式,最好是同步+异步提交

Kafka中消息的重复消费问题如何解决?

  • 关闭自动提交偏移量,开启手动提交偏移量
  • 提交方式,最好是同步+异步提交
  • 幂等方案