1、ack配置
ack确认机制设置为-1,也就是让消息写入leader和所有的副本,ISR列表中的所有replica都返回确认消息。
ack确认机制设置为1,leader已经接收了数据的确认信息,replica异步拉取消息,比较折中。
ack确认机制设置为2,表示producer写partition leader和其他一个follower成功的时候,broker就返回成功,无论其他的partition follower是否写成功。
ack确认机制设置为 “all” 即所有副本都同步到数据时send方法才返回, 以此来完全判断数据是否发送成功, 理论上来讲数据不会丢失。
2、手动提交offset
enable.auto.commit=false
0.81版用low level自行控制(代码量多)
3、配置上消息重试的机制
4、缩小缓冲时间区间(牺牲效率)
log.flush.interval.messages和log.flush.interval.ms来配置flush间隔
本文详细介绍了Kafka消息确认机制的四种设置方式:-1、1、2及'all',并解释了每种设置对消息持久性和系统效率的影响。同时,文中还探讨了手动提交offset的配置方法,以及如何通过调整缓冲时间区间和消息重试机制来优化消息传递流程。
1253

被折叠的 条评论
为什么被折叠?



