zoukankan      html  css  js  c++  java
  • kafka的副本同步机制(ISR)

    一个topic可以有多个分区,多个副本(一般副本数量不大于分区数量)。一份分区下有多个副本,
    ISR表示目前消息量与leader相差不多的副本集合,这是整个副本集合的一个子集”。怎么去理解
    可用和相差不多这两个词呢?具体来说,ISR集合中的副本必须满足两个条件

      1. 副本所在节点必须维持着与zookeeper的连接
      2. 副本最后一条消息的offset与leader副本的最后一条消息的offset之间的差值不能超过指定的阈值
        (replica.lag.time.max.ms) replica.lag.time.max.ms:如果该follower在此时间间隔内一直没有追
        上过leader的所有消息,则该follower就会被剔除isr列表
      3. ISR数据保存在Zookeeper的/brokers/topics//partitions//state
        节点中
        follower副本把leader副本LEO之前的日志全部同步完成时,则认为follower副本已经追赶上了leader
        副本,这个时候会更新这个副本的lastCaughtUpTimeMs标识,kafk副本管理器会启动一个副本过期检
        查的定时任务,这个任务会定期检查当前时间与副本的lastCaughtUpTimeMs的差值是否大于参数
        replica.lag.time.max.ms 的值,如果大于,则会把这个副本踢出ISR集合
  • 相关阅读:
    二叉树层次遍历
    链表
    线段树加离散化
    前缀和
    RMQ(Range MinimumQuery)问题之ST算法
    2016"百度之星"
    2016"百度之星"
    Dragon Balls[HDU3635]
    Building Block[HDU2818]
    Dogs[HDU2822]
  • 原文地址:https://www.cnblogs.com/zhipeng-wang/p/14179736.html
Copyright © 2011-2022 走看看