千家信息网

Kafka水位是什么

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要讲解了"Kafka水位是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Kafka水位是什么"吧!什么是水位kafka中用水位来描述,一
千家信息网最后更新 2025年12月02日Kafka水位是什么

这篇文章主要讲解了"Kafka水位是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Kafka水位是什么"吧!

什么是水位

kafka中用水位来描述,
一个分区中的可见数据的offset。
大概你需要知道这几点:

  1. hw(水位)你可以理解成是一个全局(所有副本最小offset)的offset,
    针对的是一个分区

  2. LEO代表着该副本的所有消息的最大offset,
    针对的是一个副本,也就是每个副本都有LEO,并且不一样。
    其中所有副本中最小的LEO就是水位

水位

为什么要水位?

为了保障数据的一致性

Kafka中水位的运作

当 Leader收到一条消息并写入成功,
其LEO则和马上 +1.
副本会定期去和Leader进行同步,
每同步一个消息,其自己的LEO相应+1,
而水位则是所有副本最小的LEO,
所以也会慢慢进行增加。

  • 和ACK的关系
    其实没有必然的关系,
    ACK是用来保证数据不丢失的,
    而 hw 是用来保证客户端消费的一致性的,
    不过当ACK=-1,
    因为会等到数据完全写入到所有副本,
    才能返回成功,
    也就是说所有副本的LEO都 +1,
    其水位必然也会 +1,
    这个时候就可以避免数据丢失了。
    否则则会存在数据丢失的风险

  • 为什么ACK != -1 数据就可能丢失
    比如一个分区,四个副本1,2,3,4:
    1:LEO = 10(Leader)
    2:LEO = 8
    3:LEO = 7
    4:LEO = 6
    此时 hw = 6,
    当1 号Leader挂掉了,
    3号当选了新Leader,
    则所有存活副本首先会将hw之外的所有数据清除,
    然后从Leader同步水位之后的数据
    比如2号副本:
    先清除本身数据7,8,LEO变成6,
    然后去Leader同步6之后的数据,
    哪怕老Leader1号恢复了,6-10号数据还在,
    也需要将宕机时候的hw之后的数据全部清除,
    重新从Leader同步数据

感谢各位的阅读,以上就是"Kafka水位是什么"的内容了,经过本文的学习后,相信大家对Kafka水位是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

水位 数据 副本 同步 最小 消息 学习 一致 成功 一致性 也就是 内容 就是 必然 保证 最大 中用 也就是说 代表 全局 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 转行网络安全看什么书 网络安全北京应届生平均工资 深圳市商利来网络技术有限公司 mysql删除一个月前数据库 软件开发合同填写说明 宝山区品牌网络技术欢迎咨询 东莞安卓软件开发联系方式 批量下载tcga数据库 网络安全为人民宣传画小学图片 网络安全法普及做法 rcfe数据库类型 网络安全和it审计 我的世界菜鸟动画服务器 数据库安全运维厂商 商业软件开发相关的法律法规 服务器维保价格公式 女巫来了无法进入服务器 软件开发需求活动主要任务 河北集团党性体检软件开发 龙昌网络安全技术有限公司怎么样 鹿邑县软件开发培训班 创业软件使用数据库 软件开发等流程图 广厦网络技术股份公司招聘 数据库事务的四大特征aicd 商业软件开发相关的法律法规 信息中心网络安全应急预案 vb题添加数据库 研究生读网络安全专业怎么样 腾讯云服务器快照
0