当前位置:首页 > 科技  > 软件

九张图带你理解 Kafka 中高水位 HW

来源: 责编: 时间:2024-07-03 10:09:50 74观看
导读大家好,我是君哥。Kafka 高水位(简称 HW)是 Kafka 中非常重要的一个概念,今天来聊一聊 HW。1 HW 简介HW 是 Kafka 中 Offset 的一个值,HW 作为一个边界,Offset 小于 HW 的消息被称为已提交消息,这部分消息可以被消费者进行拉

大家好,我是君哥。vyv28资讯网——每日最新资讯28at.com

Kafka 高水位(简称 HW)是 Kafka 中非常重要的一个概念,今天来聊一聊 HW。vyv28资讯网——每日最新资讯28at.com

1 HW 简介

HW 是 Kafka 中 Offset 的一个值,HW 作为一个边界,Offset 小于 HW 的消息被称为已提交消息,这部分消息可以被消费者进行拉取消费,大于等于 HW 的消息被称为未提交消息,不能被消费者拉取。如下图:vyv28资讯网——每日最新资讯28at.com

图片图片vyv28资讯网——每日最新资讯28at.com

Offset 小于 108 的消息可以被消费者消费,Offset 大于等于 108 的消息不能被消费者消费 。vyv28资讯网——每日最新资讯28at.com

2 LEO 简介

Kafka 中跟 Offset 相关的还有一个重要概念叫 LEO(Log End Offset)。LEO 表示 Offset 中的最后一个位置,也就是新消息写入的第一个位置,这个位置还没有消息。比如下图中的 114 这个位置,新消息写入时会从这个位置开始存储。vyv28资讯网——每日最新资讯28at.com

图片图片vyv28资讯网——每日最新资讯28at.com

3 HW 更新机制

对于 Kafka 的一个分区来说,分区的所有副本都有 HW 和 LEO 这 2 个重要属性,不光是 Leader 副本。但是 Leader 副本的 HW 值被作为整个分区的 HW。vyv28资讯网——每日最新资讯28at.com

因此,分区每个副本所在的 Broker 都保存了自己的 HW 和 LEO 值,而 Leader 副本所在的 Broker 节点还保存了 Follower 副本的 HW 和 LEO。vyv28资讯网——每日最新资讯28at.com

注意:这里说的 Follower 必须跟 Leader 保持同步,一般用 2 个条件来判断:vyv28资讯网——每日最新资讯28at.com

  • Follower 在 ISR 集合中;
  • Follower 中 LEO 值落后于 Leader LEO 值的时间,不超过参数(replica.lag.time.max.ms)的值,默认 10s。

如下图,partition-test 这个分区有 3 个副本,Leader 和 Follower1、Follower2,Follower1 和 Follower2 所在的 Broker1 上保存了自己的 HW 和 LEO,而 Leader 所在的 Broker0 不仅保存了自己的 HW 和 LEO,还保存了 Follower1 跟 Follower2 的 HW 和 LEO。vyv28资讯网——每日最新资讯28at.com

图片图片vyv28资讯网——每日最新资讯28at.com

3.1 Follower 更新

Broker1 和 Broker2 作为分区的 Follower 副本,会从 Leader 拉取消息,写入本地磁盘,然后更新 LEO。更新成功 LEO 后,比较自己的 LEO 值跟 Leader 副本发送的 HW 值,取较小的作为自己的 HW。如下图:vyv28资讯网——每日最新资讯28at.com

图片图片vyv28资讯网——每日最新资讯28at.com

3.2 Leader 更新

从 3.1 中的图可以看到,Leader 收到 Follower 拉取消息请求后,会根据 Follower 副本发送的拉取请求中的 Offset 更新本地保存的 Follower 的 LEO。同时 leader 会更新自己的 HW = min LEO of{Leader、Follower1、Follower2}。vyv28资讯网——每日最新资讯28at.com

需要注意的是,Leader 是不能更新 Follower 的 HW 的。vyv28资讯网——每日最新资讯28at.com

下面看一下 Leader 副本收到生产者发送的消息时是怎样更新自己的 LEO 和 HW 的。如下图:vyv28资讯网——每日最新资讯28at.com

图片图片vyv28资讯网——每日最新资讯28at.com

4 一个示例

下面以 Leader 只有一个 Follower 的场景来说明 LEO 和 HW 的更新过程。vyv28资讯网——每日最新资讯28at.com

初始状态,Leader 所在的 Broker 节点保存的 Leader 的 LEO 和 HW 都是 0,保存的 Follower 的 LEO = 0。vyv28资讯网——每日最新资讯28at.com

图片图片vyv28资讯网——每日最新资讯28at.com

生产者发送一条消息后,Leader 节点更新 LEO = 1,此时 Leader 的 HW 是 0。Follower 还没有发起拉取请求,所以 Follower 的 LEO 任然是 0,Leader 的 HW 是 0。vyv28资讯网——每日最新资讯28at.com

图片图片vyv28资讯网——每日最新资讯28at.com

Follower 第一次拉取消息,发送给 Leader 的 Offset = 0,Leader 节点收到请求后,因为 Offset = 0,所以本地保存的 Follower LEO 不变。Leader 节点返回消息给 Follower,Follower 节点写入消息后更新自己的 LEO = 1。vyv28资讯网——每日最新资讯28at.com

图片图片vyv28资讯网——每日最新资讯28at.com

Follower 第二次拉取消息,发送给 Leader 的 Offset = 1,Leader 节点收到请求后,更新本地保存的 Follower LEO = 1,更新自己的 HW = 1 并返回给 Follower,Follower 收到 Leader 发送的 HW 后更新自己的 HW = 1。vyv28资讯网——每日最新资讯28at.com

图片图片vyv28资讯网——每日最新资讯28at.com

总结

高水位 HW 这个概念在 Kafka 中标记消息是否可以被消费者消费,这个概念跟 LEO 有着重要的关系。本文介绍了 LEO 和 HW 的更新机制,希望对你理解 HW 有所帮助。vyv28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-98413-0.html九张图带你理解 Kafka 中高水位 HW

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: K8s 也有设计模式?你知道吗?

下一篇: Switch语句中使用String类型的实现原理

标签:
  • 热门焦点
  • 企业采用CRM系统的11个好处

    企业采用CRM系统的11个好处

    客户关系管理(CRM)软件可以为企业提供很多的好处,从客户保留到提高生产力。  CRM软件用于企业收集客户互动,以改善客户体验和满意度。  CRM软件市场规模如今超过580
  • 三言两语说透柯里化和反柯里化

    三言两语说透柯里化和反柯里化

    JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是两种很有用的技术,可以帮助我们写出更加优雅、泛用的函数。本文将首先介绍柯里化和反柯里化的概念、实现原理和应用
  • 每天一道面试题-CPU伪共享

    每天一道面试题-CPU伪共享

    前言:了不起:又到了每天一到面试题的时候了!学弟,最近学习的怎么样啊 了不起学弟:最近学习的还不错,每天都在学习,每天都在进步! 了不起:那你最近学习的什么呢? 了不起学弟:最近在学习C
  • 零售大模型“干中学”,攀爬数字化珠峰

    零售大模型“干中学”,攀爬数字化珠峰

    文/侯煜编辑/cc来源/华尔街科技眼对于绝大多数登山爱好者而言,攀爬珠穆朗玛峰可谓终极目标。攀登珠峰的商业路线有两条,一是尼泊尔境内的南坡路线,一是中国境内的北坡路线。相
  • 认真聊聊东方甄选:如何告别低垂的果实

    认真聊聊东方甄选:如何告别低垂的果实

    来源:山核桃作者:财经无忌爆火一年后,俞敏洪和他的东方甄选依旧是颇受外界关心的“网红”。7月5日至9日,为期5天的东方甄选“甘肃行”首次在自有App内直播,
  • iQOO Neo8系列今日官宣:首发天玑9200+ 全球安卓最强芯!

    iQOO Neo8系列今日官宣:首发天玑9200+ 全球安卓最强芯!

    在昨日举行的的联发科新一代旗舰芯片天玑9200+的发布会上,iQOO官方也正式宣布,全新的iQOO Neo8系列新品将全球首发搭载这款当前性能最强大的移动平台
  • Android 14发布:首批适配机型公布

    Android 14发布:首批适配机型公布

    5月11日消息,谷歌在今天凌晨举行了I/O大会,本次发布会谷歌带来了自家的AI语言模型PaLM 2、谷歌Pixel Fold折叠屏、谷歌Pixel 7a手机,同时发布了Androi
  • OPPO K11样张首曝:千元机影像“卷”得真不错!

    OPPO K11样张首曝:千元机影像“卷”得真不错!

    一直以来,OPPO K系列机型都保持着较为均衡的产品体验,历来都是2K价位的明星机型,去年推出的OPPO K10和OPPO K10 Pro两款机型凭借各自的出色配置,堪称有
  • 2022爆款:ROG魔霸6 冰川散热系统持续护航

    2022爆款:ROG魔霸6 冰川散热系统持续护航

    喜逢开学季,各大商家开始推出自己的新产品,进行打折促销活动。对于忠实的端游爱好者来说,能够拥有一款梦寐以求的笔记本电脑是一件十分开心的事。但是现在的
Top