kafka保证消息不丢失
一: 消费端保证消息不丢失: 消费端从broker取到消息以后, 先处理业务逻辑, 然后再手动提交, 这样就可以避免消费端消息丢失。
二: 生产端消息不丢失: 首先是设置每个消息分区的副本, 一本是几个broker就配置几个分区,
然后设置如下, 保证生产这生产的消息发送到broker时,不但leader确认收到消息,至少还有一个flower(也就是副本)确认收到消息以后才会认为broker中收到消息,
这样就可以保证生产端消息不丢失。
spring.kafka.producer.acks=all,