美文网首页
(7)ISR、AR代表什么?ISR伸缩是什么?

(7)ISR、AR代表什么?ISR伸缩是什么?

作者: hedgehog1112 | 来源:发表于2021-02-26 23:32 被阅读0次

AR(Assigned Repllicas):分区中所有副本统称

ISR(In-Sync Replicas):与leader副本保持一定程度同步的副本(包括Leader)

OSR(Out-Sync Relipcas):与leader滞后过多副本(不包括leader)ps:参数配置滞后范围

AR=ISR+OSR。正常情况AR=ISR ,OSR空

LEO(LogEndOffse):下一条待写入消息offset,partition的log最后一条消息offset+1。

HW(HighWatermark):consumer能看到partition位置,partition对应ISR中最小LEO为HW。

    HW为6.表示消费者只能拉取到offset0至5之间的消息,而offset为6的消息对消费者而言是不可见的(图2)

LW(LowWatermark):“低水位”,AR中最小logStartOffset,副本拉取请求(FetchRequest,可能触发新建日志分段而旧的被清理,导致logStartoffset增加)和删除请求DeleteRecordRequest都可能促使LW增长

概要:一、ISR 的伸缩性:定期检查是否伸缩、缓存

           二、何时扩充ISR:1)follower追赶上,2)hw保证一致性

           三、同步过程:写leader,再同步

           四、LSO(LastStableOffset)与kafka的事物有关:读提交,读未提交

一、ISR 的伸缩性

1)Leader跟踪维护ISR中follower滞后状态,落后太多或失效时,leade把他们从ISR剔除。2)OSR中follower“追上”Leader,在ISR中才有资格选举leader

Kafka启动开启ISR相关定时任务“isr-expiration"和”isr-change-propagation"

1、isr-expiration:周期性检测 分区是否缩减ISR

    1)“replica.lag.time.max.ms”设置周期,大小是这个参数一半,默认5000ms

    2)检测到ISR有失效副本时,缩减ISR集合,记录到zk对应/brokers/topics//partition//state节点如下:

    {“controller_cpoch":26,“leader”:0,“version”:1,“leader_epoch”:2,“isr”:{0,1}}

     其中controller_epoch:kafka控制器epoch.leader,前分区leader所在broker的idversion版本号(当前半本固定位1),leader_epoch当前分区leader纪元,变更后isr列表

2、isr-change-propagation:周期性(固定2500ms)检查isrChangeSet(记录变更后缓存)

    1)发现变更,在zk的/isr_change_notification创建isr_change开头持久顺序节点存isrChangeSet信息:如/isr_change_notification/isr_change_0000000000 , 

    2)kafka控制器为/isr_change_notification添加Watcher,子节点变化触发Watcher,通知控制器和管理broker节点更新元数据,删除/isr_change_notification下已处理节点。

    3)避免频繁触发Watcher影响控制器、zk、broker性能,检查:上次ISR变化超过5秒,上次写zk超过60秒

二、何时扩充ISR

1、不断同步,follower的LEO后移,追赶上leader判定准侧是follower的LEO是否小于leader副本HW

2、ISR扩充同样更新zk中的/broker/topics//partition//state节点和isrChangeSet,之后和收缩时相同。ISR增减时,或LEO变时,影响整个分区HW。

    如leader的LEO为9,follower的LEO为7,follower2的LEO为6,判定都处于ISR中,分区HW6,如follower2被剥离ISR,HW为leader和follower中LEO最小值为7(木桶原理

3、HW保证一致性

Leader挂了,在新Leader可读HW,即对外可见最大offset,HW=max(replica.offset)

例:新msg,等ISR中replica同步后,更新HW,才消费,保证如Leader fail,仍可从新Leader中获取(配置延迟时间replica.lag.time.max.ms)

ps:内部Broker读,没HW限制。Folloer.HW = min(Leader.HW, Follower.offset)

图2

三、同步过程

ISR中一个leader和两个follower副本,LEO和HW都为3。消息3和4从生产者发出后先存leader

follower1完全leader而follower2只同步消息3,leader、follower1的LEO为5,Follower2的LEO为4HW最小值4,可以消费offset为0-3消息;所有都成功写入3、4,HW和LEO为5,可消费offset为4消息。

四、LSO(LastStableOffset)与kafka的事物有关

配置消费者事务隔离级别:消费端参数——isolation.level(字符串类型)

1、设置消费到位置

1)“read_committed",消费会忽略事务未提交,只能消费到LSO(LastStableOffset)位置

2)默认”read_uncommitted",可消费HW(High Watermak)位置。

    ps:follower事务隔离级别也“read_uncommitted",且不可改

例:开启kafka事务时,生产者发消息1、2到broker,如没有提交事务,isolation.level=read_committed的消费者看不到消息,而isolation.level=read_uncommitted可到。事务中第一条消息位置标记为firstUnstableOffset

2、LSO还影响kafka消费后量

就是kafka,Log,也称kafka堆积量计算。

1)普通情况:Lag = HW-ConsumerOffset

2)引入了事务:read_uncommitted不受影响,read_committed引入LSO计算:

        未完成事务,LSO=事务第一条消息位置(firstUnstableOffset)

        已经完成=HW

结论:LSO≤HW≤LEO

未完成read_committed,Lag=LSO-ComsumerOffset

https://blog.csdn.net/weixin_43975220/article/details/93190906

https://blog.csdn.net/qq_41568597/article/details/82501738

相关文章

  • (7)ISR、AR代表什么?ISR伸缩是什么?

    AR(Assigned Repllicas):分区中所有副本统称 ISR(In-Sync Replicas):与l...

  • Kafka的知识点梳理

    Kafka的用途有哪些?使用场景如何? Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么 Kafka中的...

  • Kafka 面试题

    1.Kafka中的ISR、AR代表什么? ISR:与leader保持同步的follower集合 AR:分区的所有副...

  • 面试题3

    30.ISR、OSR、AR 是什么? ISR:In-Sync Replicas 副本同步队列 OSR:Out-of...

  • 【Kafka系列】2.1 服务端 - 基本概念

    1.ISR、OSR、AR是什么? ISR:In-Sync Replicas 副本同步队列。所有与 leader 副...

  • kafka基础知识

    为什么要用kafka: 1.缓冲和削峰2.解耦和扩展性3.异步通信4.健壮性5.冗余 什么是ISR和AR ISR:...

  • kafka-面试题

    Kafka的用途有哪些?使用场景如何? 异步解耦 削峰降流 流式数据源 Kafka中的ISR、AR又代表什么?IS...

  • spark streaming+kafka调优

    问题1:Kafka Topic ISR不全 Leader会跟踪与其保持同步的Replica列表,该列表称为ISR(...

  • Kafka学习笔记05()

    kafka flume事务kafka监控ISR 1、kafka是什么kafka 是基于发布/订阅模式的消息队列,主...

  • kafka broker如何保证消息不丢失

    kafka中的HW、LEO、LSO、LW等分别代表什么? ​ ISR与HW和LEO也有紧密的关系,HW是High ...

网友评论

      本文标题:(7)ISR、AR代表什么?ISR伸缩是什么?

      本文链接:https://www.haomeiwen.com/subject/vifbfltx.html