【项目实战】Kafka 分区中的AR、ISR、OSR

这篇具有很好参考价值的文章主要介绍了【项目实战】Kafka 分区中的AR、ISR、OSR。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO TOP红人

Java知识图谱点击链接:体系化学习Java(Java面试专题)

💕💕 感兴趣的同学可以收藏关注下不然下次找不到哟💕💕

✊✊ 感觉对你有帮助的朋友,可以给博主一个三连,非常感谢 🙏🙏🙏

【项目实战】Kafka 分区中的AR、ISR、OSR,Kafka专栏,kafka,分布式,kafka专栏,原力计划

1、什么是 AR、ISR、OSR

AR(Assigned Replicas) 是指为每个分区分配的副本集合。在Kafka中,每个分区可以有多个副本,其中一个副本被选举为leader,其他副本为follower。AR是指包括leader副本在内的所有副本的集合。

ISR(In-Sync Replicas) 是指与leader副本保持同步的follower副本集合。只有处于ISR中的副本才会被认为是同步的,其他副本将被视为不可靠的。当follower副本无法及时跟上leader副本的同步进度时,它将被移出ISR,直到它能够追赶上来。ISR机制确保了数据的一致性和可靠性。

OSR(Out-of-Sync Replicas) 是指与leader副本不同步的follower副本集合。当follower副本无法及时跟上leader副本的同步进度时,它将被移出ISR,并被标记为OSR。OSR副本将尝试追赶上来,一旦追赶上来并与leader副本保持同步,它将被重新添加到ISR中。

这些概念在Kafka中用于管理副本的分配和同步,以确保数据的可靠性和一致性。

2、ISR 的伸缩性

ISR(In-Sync Replicas,同步副本) 的伸缩性是指ISR的能力适应负载变化和副本增减的能力。ISR的伸缩性对于Kafka集群的性能和可靠性非常重要。

当Kafka集群的负载增加或减少时,ISR的伸缩性可以通过以下方式来实现:

  1. 副本增加:当负载增加时,可以通过增加follower副本来提高ISR的伸缩性。新的follower副本将追赶上leader副本的同步进度,并加入ISR,从而分担负载。

  2. 副本减少:当负载减少时,可以通过减少follower副本来提高ISR的伸缩性。不再需要的follower副本将被移出ISR,并停止与leader副本的同步,从而减轻负载。

通过动态调整ISR的大小,Kafka可以根据负载的变化来自动平衡数据分布和副本同步,以提供更好的性能和可靠性。ISR的伸缩性是Kafka集群能够处理大规模数据流的关键因素之一。

3、AR = ISR + OSR ?

【项目实战】Kafka 分区中的AR、ISR、OSR,Kafka专栏,kafka,分布式,kafka专栏,原力计划

对于Kafka中的副本集合,有一个简单的关系可以描述为:AR(Assigned Replicas,分配副本)等于ISR(In-Sync Replicas,同步副本)加上OSR(Out-of-Sync Replicas,不同步副本)。

具体来说,AR是指为每个分区分配的副本集合,包括leader副本和follower副本。ISR是与leader副本保持同步的follower副本集合,即可靠的副本。OSR是与leader副本不同步的follower副本集合,即不可靠的副本。

因此,AR可以被分解为ISR和OSR的组合。ISR中的副本用于保证数据的一致性和可靠性,而OSR中的副本则需要追赶上来并与leader副本保持同步,才能重新加入ISR。

4、数据写入及同步的过程

整个数据写入及同步的过程分为九个步骤:

  1. leader 副本将数据写入本地磁盘

  2. leader 副本更新 LEO

  3. follower 副本发送同步数据请求,携带自身的 LEO

  4. leader 副本更新本地保存的其它副本的 LEO

  5. leader 副本尝试更新 ISR 列表

  6. leader 副本更新 HW

  7. leader 副本给 follower 副本返回数据,携带 leader 副本的 HW 值

  8. follower 副本接收响应并写入数据,更新自身 LEO

  9. follower 副本更新本地的 HW 值

4、HW 和 LEO

【项目实战】Kafka 分区中的AR、ISR、OSR,Kafka专栏,kafka,分布式,kafka专栏,原力计划

HW(High Watermark)表示Kafka分区中已经被确认的最高偏移量。它代表了消费者可以安全地读取的消息位置。消费者只能消费高于HW的消息,确保消息的可靠性。

LEO(Log End Offset)表示Kafka分区中当前的最高偏移量。它代表了分区中最新的消息位置,包括已经写入但尚未被确认的消息。LEO是一个动态的值,随着消息的写入和确认而变化。

HW和LEO在Kafka中用于管理消息的可靠性和一致性。消费者可以通过比较HW和LEO来确定自己的消费进度,并确保不会丢失任何重要的消息。

5、写在最后总结

AR(Assigned Replicas,分配副本)、ISR(In-Sync Replicas,同步副本)、OSR(Out-of-Sync Replicas,不同步副本)、HW(High Watermark,高水位标记)和LEO(Log End Offset,日志结束偏移量),如下:

  1. AR是指为每个分区分配的副本集合,包括leader副本和follower副本。每个分区可以有多个副本,其中一个副本被选举为leader,其他副本为follower。

  2. ISR是指与leader副本保持同步的follower副本集合。只有处于ISR中的副本才会被认为是同步的,其他副本将被视为不可靠的。ISR中的副本会按照leader副本的进度来进行数据复制和同步。

  3. OSR是指与leader副本不同步的follower副本集合。当follower副本无法及时跟上leader副本的同步进度时,它将被移出ISR,并被标记为OSR。OSR副本将尝试追赶上来,一旦追赶上来并与leader副本保持同步,它将被重新添加到ISR中。

  4. HW(High Watermark)是指已经被确认的最高偏移量,代表了消费者可以安全地读取的消息位置。消费者只能消费高于HW的消息,确保消息的可靠性。

  5. LEO(Log End Offset)是指当前分区中最新的消息位置,包括已经写入但尚未被确认的消息。LEO是一个动态的值,随着消息的写入和确认而变化。

综上所述,AR是包括leader和follower副本的集合,ISR是与leader副本保持同步的follower副本集合,OSR是与leader副本不同步的follower副本集合。HW代表了消费者可以安全读取的消息位置,LEO代表了当前分区中最新的消息位置。这些概念在Kafka中用于管理副本的同步和消息的可靠性。

💕💕 本文由激流原创,原创不易,希望大家关注、点赞、收藏,给博主一点鼓励,感谢!!!
🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃
【项目实战】Kafka 分区中的AR、ISR、OSR,Kafka专栏,kafka,分布式,kafka专栏,原力计划文章来源地址https://www.toymoban.com/news/detail-599870.html

到了这里,关于【项目实战】Kafka 分区中的AR、ISR、OSR的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kafka之分区副本与ISR

    Kafka的Topic分区本质是一个用于存储Topic下的消息的日志,但是只存一份日志会因为机器损坏或其他原因导致消息丢失不可恢复, 因此需要多个相同的日志作为备份,提高系统可用性,这些备份在kafka中被称为副本(replica)。 kafka将分区的所有副本均匀的分配到所有broker上,并从

    2024年02月04日
    浏览(37)
  • Kafka中的 ISR 机制

    ISR 的全称叫做: In-Sync Replicas (同步副本集), 可以理解为和 leader 保持同步的所有副本的集合。ISR 动态维护了一个和 leader 副本保持同步副本集合,ISR 中的副本全部都和 leader 的数据保持同步。 设一个场景,有6个分区集合,分别为 [0,1,2,3,4,5],其中 leader-replica 是 0 其中 [

    2024年02月11日
    浏览(32)
  • 【项目实战】Kafka 生产者写入分区的策略

    👉 博主介绍 : 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO TOP红人 Java知识图谱点击链接: 体系化学习Java(Java面试专题) 💕💕 感兴趣的同学可以收藏关注下 , 不然下次找不到哟

    2024年02月16日
    浏览(36)
  • 【项目实战】Kafka 集群分区的 leader 和 follower

    👉 博主介绍 : 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO TOP红人 Java知识图谱点击链接: 体系化学习Java(Java面试专题) 💕💕 感兴趣的同学可以收藏关注下 , 不然下次找不到哟

    2024年02月12日
    浏览(41)
  • KafKa 分区,副本实战

    5个broker (1主4从) 安装目路/config/server.properties, 额外复制4份为 server-2.properties,server-3.properties,server-4.properties,server-5.properties 主要配置不同 server.properties server-2.properties server-3.properties server-4.properties server-5.properties 运行这5个broker 创建一个主题test,8个分区,3个副本 bootstrap

    2024年02月11日
    浏览(40)
  • kafka--kafka基础概念-ISR详解

    主要是讲 主 往 从同步中的问题 当绿色P1接收到写入的数据,要同步到紫色的P1S1和P1S2 如何保证一致性呢? 使用In Sync Replicas 也就是ISR概念 为什么不一致的? 因为P1S1同步数据 可能花费 50ms P1S2可能花费60ms 同步完的进入ISR集合, 同步时间是可以设置规定时间的(容忍时间)

    2024年02月12日
    浏览(37)
  • Kafka—ISR机制

    ISR机制 Kafka 中的 ISR(In-Sync Replicas)机制是一种用于确保数据可靠性和一致性的重要机制。ISR 是一组副本,它包括分区的领导者(Leader)和追随者(Follower)副本,这些副本与领导者保持数据同步。 领导者和追随者:每个分区有一个领导者和零个或多个追随者。领导者负责处

    2024年04月14日
    浏览(34)
  • kafka的ISR工作机制原理

    昨日内容回顾:     - ES的加密及客户端的连接方式,比如logstash,filebeat,curl,es-head,postman...     - zk单点部署     - kafka单点部署     - kafka的集群扩容     - kafka集群架构     - kafka的堆内存调优     - kafka的集群宏观架构      Q1: 为什么需要配置\\\"dvertised.listeners\\\".  

    2024年02月10日
    浏览(51)
  • Kafka简单入门02——ISR机制

    目录 ISR机制 ISR 关键概念 HW和LEO Java使用Kafka通信 Kafka 生产者示例 Kafka 消费者示例 ISR机制 Kafka 中的 ISR(In-Sync Replicas)机制是一种用于确保数据可靠性和一致性的重要机制。ISR 是一组副本,它包括分区的领导者(Leader)和追随者(Follower)副本,这些副本与领导者保持数据同

    2024年02月04日
    浏览(47)
  • 全网最详细地理解Kafka中的Topic和Partition以及关于kafka的消息分发、服务端如何消费指定分区、kafka的分区分配策略(range策略和RoundRobin策略)

    最近在学习kafka相关的知识,特将学习成功记录成文章,以供大家共同学习。 首先要注意的是, Kafka 中的 Topic 和 ActiveMQ 中的 Topic 是不一样的。 在 Kafka 中, Topic 是一个存储消息的逻辑概念,可以认为是一个消息集合。每条消息发送到 Kafka 集群的消息都有一个类别。 物理上

    2024年01月25日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包