kafka可靠性分析

92 阅读1分钟

核心概念

  • AR:分区中所有的副本
  • ISR:和leader保持同步的副本(落后一定范围内)
  • LEO:分区中最后一条消息的以一个位置
  • HW:高水位,ISR中最小的LEO

image.png

消息丢失场景

  1. follower没有同步完成,follower和leader都挂了,重启后follower选为主,丢失了消息
  2. 设置了自动提交,consumer挂了,消息提交了
  3. 硬盘损坏

如何避免消息丢失

  1. 生产者的ack设置为-1,即需要同步完成
  2. 消费者的自动提交设置为false

参考