【Kafka】知识点(三)

【Kafka】知识点(三),第1张

【Kafka】知识点(三) Kafka分区副本概念:AR、ISR、OSR
  • 分区副本机制:每个kafka中分区都可以构建多个副本,相同分区的副本存储在不同的节点上

    • 为了保证安全和写的性能:划分了副本角色

    • leader副本:对外提供读写数据

    • follower副本:与Leader同步数据,如果leader故障,选举一个新的leader

    • 选举实现:Kafka主节点Controller实现

  • AR:All - Replicas

    • 所有副本:指的是一个分区在所有节点上的副本

      Partition: 0   Replicas: 1,0 
  • ISR:In - Sync - Replicas

    • 可用副本:所有正在与Leader同步的Follower副本

      Partition: 0    Leader: 1       Replicas: 1,0,2   Isr: 1,0
    • 列表中:按照优先级排列【Controller根据副本同步状态以及Broker健康状态】,越靠前越会成为leader

    • 如果leader故障,是从ISR列表中选择新的leader

    • 如果生产者写入数据:ack=all,写入所有ISR列表中的副本,就返回ack

  • OSR:Out - Sync - Replicas

    • 不可用副本:与Leader副本的同步差距很大,成为一个OSR列表的不可用副本

    • 原因:网路故障等外部环境因素,某个副本与Leader副本很久没有同步

    • 判断是否是一个OSR副本?

      • 0.9之前:时间和数据差异

        replica.lag.time.max.ms = 10000   可用副本的同步超时时间
        replica.lag.max.messages = 4000   可用副本的同步记录差,该参数在0.9以后被删除
      • 0.9以后:只按照时间来判断

        replica.lag.time.max.ms = 10000   可用副本的同步超时时间
    • 写入、Leader选举:都只从ISR列表中选取

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5638951.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存