ISR
上节我们涉及到ISR (In-Sync Replicas),这个是指副本同步队列。副本数对Kafka的吞吐率是有一定的影响,但极大的增强了可用性。默认情况下Kafka的replica数量为1,即每个partition都有一个唯一的leader,为了确保消息的可靠性,通常应用中将其值(由broker的参数offsets.topic.replication.factor指定)大小设置为大于1,比如3。 所有的副本(replicas)统称为Assigned Replicas,即AR。ISR是AR中的一个子集,由leader维护ISR列表,follower从leader同步数据有一些延迟(包括延迟时间replica.lag.time.max.ms和延迟条数replica.lag.max.messages两个维度, 当前最新的版本0.10.x中只支持replica.lag.time.max.ms这个维度),任意一个超过阈值都会把follower剔除出ISR, 存入OSR(Outof-Sync Replicas)列表,新加入的follower也会先存放在OSR中。AR=ISR+OSR。

Kafka 0.9.0.0版本后移除了replica.lag.max.messages参数,只保留了replica.lag.time.max.ms作为ISR中副本管理的参数。为什么这样做呢?replica.lag.max.messages表示当前某个副本落后leader的消息数量超过了这个参数的值,那么leader就会把follower从ISR中删除。假设设置replica.lag.max.messages=4,那么如果producer一次传送至broker的消息数量都小于4条时,因为在leader接受到producer发送的消息之后而follower副本开始拉取这些消息之前,follower落后leader的消息数不会超过4条消息,故此没有follower移出ISR,所以这时候replica.lag.max.message的设置似乎是合理的。但是producer发起瞬时高峰流量,producer一次发送的消息超过4条时,也就是超过replica.lag.max.messages,此时follower都会被认为是与leader副本不同步了,从而被踢出了ISR。但实际上这些follower都是存活状态的且没有性能问题。那么在之后追上leader,并被重新加入了ISR。于是就会出现它们不断地剔出ISR然后重新回归ISR,这无疑增加了无谓的性能损耗。而且这个参数是broker全局的。设置太大了,影响真正“落后”follower的移除;设置的太小了,导致follower的频繁进出。无法给定一个合适的replica.lag.max.messages的值,故此,新版本的Kafka移除了这个参数。

新版本ISR 为啥 移除replica.lag.max.messages这个参数相关推荐

  1. 【无标题】Kafka副本管理—— 为何去掉replica.lag.max.messages参数

    1.概述 转载:Kafka副本管理-- 为何去掉replica.lag.max.messages参数 今天查看Kafka 0.10.0的官方文档,发现了这样一句话:Configuration para ...

  2. Kafka之ISR机制的理解

    Kafka对于producer发来的消息怎么保证可靠性? 每个partition都给配上副本,做数据同步,保证数据不丢失. 副本数据同步策略 和zookeeper不同的是,Kafka选择的是全部完成同 ...

  3. 吐血整理出来的大数据知识点,你掌握多少?

    前言 hi!我是啊晨 ,一个大数据分享者,好久没发博客了,最近忙于找工作,然后顺带整理了一些资料,相信也有一部分好兄弟,也在苦于找工作,或者正在学习大数据的知识,不太会总结的.我只能这样说,你来对了. ...

  4. 大据数技术之高频面试题8.0.9

    尚硅谷大数据技术之高频面试题 (作者:尚硅谷大数据研发部) 配套视频 版本:V8.0 尚硅谷大数据研发部 目录 第1章 项目涉及技术 12 1.1 Linux&Shell 12 1.1.1 L ...

  5. 2021超全大数据面试宝典,吐血总结十万字,大数据面试收藏这一篇就够了

    本文最新版已发布至公众号[五分钟学大数据] 获取此套面试题最新pdf版,请搜索公众号[五分钟学大数据],对话框发送 面试宝典 扫码获取最新PDF版: 版本 时间 描述 V1.0 2020-02-18 ...

  6. 2020大数据面试题真题总结(附答案)

    版本 更新时间 更新内容 v1.0 2020-07-01 新建 v1.1 2020-07-18 朋友面试大数据工程师提供的关于架构及数仓方面的题目(智云健康) v1.2 2020-08-08 朋友面试 ...

  7. 【6w字干货】2020大数据面试题真题总结(附答案)

    版本 更新时间 更新内容 v1.0 2020-07-01 新建 v1.1 2020-07-18 朋友面试大数据工程师提供的关于架构及数仓方面的题目(智云健康) v1.2 2020-08-08 朋友面试 ...

  8. kafka集群原理介绍

    kafka集群原理介绍 @(KAFKA)[kafka, 大数据] kafka集群原理介绍 一基础理论 二配置文件 一java调优 二参数说明 三错误处理 四zookeeper中的内容 1brokers ...

  9. flume消费kafka数据太慢_kafka补充01

    为什么高吞吐? •写数据 –1.页缓存技术 •kafka写出数据时先将数据写到操作系统的pageCache上,由操作系统自己决定什么时候将数据写到磁盘上 –2.磁盘顺序写 •磁盘顺序写的性能会比随机写 ...

最新文章

  1. 基于pytorch的卷积神经网络量化实现
  2. HDOJ 1098 Ignatius's puzzle
  3. 北斗导航 | 大规模点云地图的自动化构建(高翔:SLAM十四讲)
  4. 一个简单的blog系统(四) 实现用户页面和文章页面
  5. SQL Server 2008 修改安装路径后安装出错的解决方法
  6. 在Cocos2d中实现能够惯性拖动的选择界面
  7. 阿里云设置域名解析到主机ip
  8. Apollo进阶课程㉝丨Apollo ROS原理—2
  9. 给你准备的Linux启动流程
  10. XNA开发思考之3D开发中的小常识
  11. java month_java11教程--类Month用法
  12. 【API进阶之路6】一个技术盲点,差点让整个项目翻车
  13. mysql只update不做修改_105岁老人抽烟喝酒不运动,长寿秘诀:只做4件事,不做1件事...
  14. go语言io reader_Golang io.TeeReader()用法及代码示例
  15. qt将tablewidget导出为excel
  16. 苹果笔记本摄像头linux驱动下载,更适配Windows:苹果MacBook摄像头驱动更新
  17. Android开发蓝牙篇之蓝牙设备开启、搜索周边蓝牙设备
  18. 解析淘口令获取商品id,包含有效时间
  19. 使用国外著名大学数字图书馆资源方法
  20. MoviePy - 中文文档2-快速上手-创建和导出video clips

热门文章

  1. lvm 扩展根目录_Lvm扩展根目录容量
  2. 【youcans 的 OpenCV 例程 200 篇】102. 陷波带阻滤波器的传递函数
  3. Python数模笔记-模拟退火算法(3)整数规划问题
  4. 收藏列表放入MySQL还是redis_mysql导入redis
  5. 全数字实时仿真平台SkyEye和同步数据流语义与翻译正确性验证
  6. wordpress友联_Wordpress 友情链接页面终极版 – Fatesinger
  7. c# vs2010 excel 上传oracle数据
  8. 车林通购车之家--购车计算器模块--保险
  9. 10.3 考试 (考得不好)
  10. $0,$#,$@,$+特殊符号的含义,shell的传递参数