当前位置:   article > 正文

kafka基本概念_kafka ar

kafka ar

KAFKA 基本概念

AR ISR OSR概念

分区中的所有副本统称为AR

所有与leader副本保持一定程度同步的副本组成ISR(包括leader,这个同步程度参数设置)

与leader副本同步滞后过多的副本组成OSR(Out-of-Sync Replicas)


得出:

AR=ISR+OSR


转化关系

leader副本负责维护和跟踪ISR集合中所有follower副本的滞后状态,太滞后了(超过参数),踢出ISR

如果OSR中有follower副本“追上”leader副本(同步到参数范围内),加入ISR

当leader发生故障了,只有ISR中的副本才有资格被选举为新的leader


HW LEO概念

生产和消费都是作用于leader分区的,follower分区只负责同步,所以上图算是leader分区的图

HW(High Watermark)LEO(Log End Offset) 标识两个特定的offset 数值位置

HW - 1 的offset是消费者可以消费的区间

ISR集合中的每个副本都会维护自身的LEO

LEO比较好理解,未来要写入信息的offset位置(当前没有写入信息)

HW是ISR集合中最小的LEO

  • HW前面的offset是消费者可消费的部分,如果leader发生意外,ISR中选举出的leader能保证没有丢失消费组可以消费的消息

HW的思考 ack参数

HW的使用虽然能提示效率,从生产者这边来看 似乎并不能保证HW~LEO中的数据不丢失?

思考半天 这好像是一直用的参数ack的使用来源(人为设置参数保证)

  • Request.required.acks=-1(全量同步确认,强可靠性保证)
  • Request.required.acks=1(leader确认收到,默认 可能存在思考的问题)
  • Request.required.acks=0 (不确认,但是吞吐量大)

能存在思考的问题)**

  • Request.required.acks=0 (不确认,但是吞吐量大)

开发大佬说生产端是0 可能都是日志数据 所以要提升吞吐量,kafka也不存重要的业务数据

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/361974
推荐阅读
相关标签
  

闽ICP备14008679号