kafka入门(九):副本
副本
副本(Replica),指的是分布式系统对数据和服务提供的一种冗余方式。
Kafka通过多副本机制实现故障自动转移,在Kafka集群中某个broker节点失效的情况下仍然保证服务可用。
kafka 副本之间是 一主多从的关系。
其中 leader 副本负责处理读写请求,follower 副本只负责与 leader 副本的消息同步。
副本处于不同的 broker中,当 leader 副本出现故障时,从 follower 副本中重新选举新的 leader 副本对外提供服务。
kafka 通过多副本机制实现了故障的自动转移,当 kafka集群中某个 broker 失效时仍然能保证服务可用。
ISR (In-Sync Replicas)
所有与 leader 副本保持一定程度同步的副本(包括leader副本在内) 组成 ISR (In-Sync Replicas)
只有在 ISR 集合中的副本才有资格被选举为新的 leader。
OSR (Out-of-Sync Replicas)
消息先发送到 leader 副本,然后 follower 副本才能从 leader 副本中拉取消息进行同步,同步期间 follower 副本相对 leader 副本会有一定程序的滞后。
与 leader 副本同步滞后过多的副本(不包括 leader副本) 组成 OSR (Out-of-Sync Replicas)。
leader副本负责维护和跟踪ISR集合中所有follower副本的滞后状态,当follower副本落后太多或失效时,leader副本会把它从ISR集合中剔除。
如果OSR集合中有follower副本追上了leader副本,那么leader副本会把它从OSR集合转移至ISR集合。
AR (Assigned Replicas)
分区中的所有副本统称为 AR(Assigned Replicas) 。 AR = ISR + OSR。
HW (High Watermark)
HW , 俗称"高水位"。它标识了一个特定的消息偏移量( offset ) , 消费者只能拉取到这个 offset 之前的消息 。
LW (Low Watermark):
LW是Low Watermark的缩写,俗称“低水位”,代表AR集合中最小的logStartOffset值。副本的拉取请求(FetchRequest,它有可能触发新建日志分段而旧的被清理,进而导致logStartOffset的增加)和删除消息 请求(DeleteRecordRequest)都有可能促使LW的增长。
LEO (Log End Offset )
LEO, 它标识当前日志文件中下一条待写入消息的 offset。
分区 ISR 集合中的每个副本都会维护自身的 LEO。而 ISR 集合中最小的 LEO 即为分区的 HW, 对消费者而言只能消费 HW 之前的消息。
kafka入门文章
https://blog.csdn.net/sinat_32502451/category_12465196.html
资料来源:
《深入理解 Kafka-- 核心设计与实践原理》
相关文章:
kafka入门(九):副本
副本 副本(Replica),指的是分布式系统对数据和服务提供的一种冗余方式。 Kafka通过多副本机制实现故障自动转移,在Kafka集群中某个broker节点失效的情况下仍然保证服务可用。 kafka 副本之间是 一主多从的关系。 其中 leader 副…...
【5G 接口协议】N2接口协议NGAP(NG Application Protocol)介绍
博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…...
2024年甘肃省职业院校技能大赛信息安全管理与评估 样题三 模块二
竞赛需要完成三个阶段的任务,分别完成三个模块,总分共计 1000分。三个模块内容和分值分别是: 1.第一阶段:模块一 网络平台搭建与设备安全防护(180 分钟,300 分)。 2.第二阶段:模块二…...
Python自动化我选DrissionPage,弃用Selenium
DrissionPage 是一个基于 python 的网页自动化工具。 它既能控制浏览器,也能收发数据包,还能把两者合而为一。 可兼顾浏览器自动化的便利性和 requests 的高效率。 它功能强大,内置无数人性化设计和便捷功能。 它的语法简洁而优雅&#x…...
MQ 消息丢失、重复、积压问题,如何解决?
面试官在面试候选人时,如果发现候选人的简历中写了在项目中使用了 MQ 技术(如 Kafka、RabbitMQ、RocketMQ),基本都会抛出一个问题:在使用 MQ 的时候,怎么确保消息 100% 不丢失? 这个问题在实际…...
【Linux】第三十三站:日志
文章目录 一、实现一个简单的日志1.简介2.可变参数3.错误等级4.时间5.打印每一条参数6.与前面的一些代码搭配使用 二、完整代码 一、实现一个简单的日志 1.简介 我们运行代码的时候,我们希望有各种各样的运行时候的一些信息。这也就是日志 它一半有日志时间&…...
MVC和MVVM区别和VUE关系
MVC(Model-View-Controller)和 MVVM(Model-View-ViewModel)是两种常见的前端架构模式,它们的主要区别在于处理业务逻辑和数据操作的方式。 MVC中,View(视图)可以直接访问Model&…...
vue3自定义按钮点击变颜色实现(多选功能)
实现效果图: 默认选中第一个按钮,未选中按钮为粉色,点击时颜色变为红色 利用动态类名,当定义isChange数值和下标index相同时,赋予act类名,实现变色效果 <template><div class"page"&…...
Redis的key过期策略是怎么实现的
这是一道经典的Redis面试题,一个Redis中可能存在很多很多的key,这些key中可能有很大一部分都有过期时间,此时Redis服务器咋知道哪些key已经过期,哪些还没过期呢? 如果直接遍历所有的key,这显然是行不通的&…...
vue+elenemt分页+springboot
目录 1、编写模板 2、发请求调接口 3、后端返回数据 1.编写实体类 2、UserController 3、Userservice接口 4、(mapper接口)UserMapper 5、xml 1、编写模板 <!-- 搜素框 --><el-input placeholder"请输入姓名" v-model"ke…...
C++ :命名空间域
目录 冲突与命名: 举个例子: 全局与局部: 域作用限定符: 命名空间域: 冲突与命名: 在C语言中,我们通常会使用stdlib.h 而stdlib.h 本质上是一个函数的库,在程序中使用的大多数…...
提升网站关键词排名的工具
随着互联网的蓬勃发展,网站的关键词排名成为衡量网站流量和曝光度的重要指标。在这个竞争激烈的数字时代,站在搜索引擎结果的前列变得至关重要。为了实现这一目标,合理利用关键词排名优化工具是必不可少的。本文将重点介绍147SEO软件…...
ICMP控制消息 汇总
控制消息由 类型 字段中的值标识。代码 字段给出了消息的附加上下文信息。自协议首次引入以来,一些控制消息已被弃用。 重要的ICMP Control Message控制信息 类型码状态描述0 –回声回复:140回声回复(用于ping)1和2未分配已预留3 …...
C#,入门教程(22)——函数的基础知识
上一篇: C#,入门教程(21)——命名空间(namespace)与程序结构的基础知识https://blog.csdn.net/beijinghorn/article/details/124140653 一、函数的基本概念 一个软件的结构大体如下: 大厦application: a plaza { --…...
已经30了,5年多,只会功能测试的怎么办?
🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 这两天一直在和网易的朋友聊软件测试的发展,这一行的…...
什么是UML?有什么用?
2、什么是UML?有什么用? UML 是 Unified Model Language的缩写,中文是统一建模语言,是由一整套图表组成的标准化建模语言。 UML 是一种统一建模语言,一种图标式语言(画图的) UML 不是只有 Java 中使用&…...
盘点好用内容合规监测工具
网页敏感内容监测 Web Purify 由 WebPurify 提供,这是一个专门从事内容审核和过滤服务的公司。 核心功能 ● 文本审核:加强脏话过滤,标记仇恨言论、偏执、性挑逗等 ● 图片审核:让个人资料照片、社交应用程序、产品定制远离令…...
CC工具箱使用指南:【查找锐角】
一、简介 在面要素中,尖锐角往往是有问题的地方。 在一系列空间分析后,通常会遗留下来部分尖锐角,需要手动处理。 但是人工去找出这些尖锐角又比较麻烦,这个工具的目的就是找出面要素边界的尖锐角。 二、工具参数介绍 右键点击…...
kafka消费相关问题(GPT回答版本)
kafka消费相关问题(GPT回答版本) 在Java中,要避免重复消费Kafka消息,可以使用以下方法 1. 使用消费者组: 在设置Kafka消费者时,可以指定一个消费者组。一个消费者组中可以有多个消费者实例,每…...
【C++】string的基本使用二
我们接着上一篇的迭代器说起,迭代器不只有正向的,还有反向的,就是我们下边的这两个 它的迭代器类型也是不同的 rbegin就是末尾,rend就是开头,这样我们想遍历一个string对象的话就可以这样做 int main() {string s1(…...
【生产力跃升】Claude Code v2.1.143:允许禁用工作树隔离,插件依赖链强制执行与后台 Agent 补强
前言作为一款工业级的 AI 编程助手,Claude Code 的高频迭代一直在解决复杂工程中的痛点。在最新的 v2.1.143 版本中,开发团队带来了一项重磅底层配置:允许关闭后台 Agent 的 Git 工作树(Worktree)隔离。此外࿰…...
理解“变异”的奥秘——集中趋势与变异性度量详解
如果说统计学是在“用数据讲故事”,那么集中趋势回答的是:“这个故事大概讲到了哪里?”而变异性回答的是:“这个故事有多分散、多不稳定、多不一样?”很多初学者学统计时,最先记住的是“平均数”“中位数”…...
Ultimate ASI Loader 专业指南:深入解析游戏MOD加载器的完整配置与开发
Ultimate ASI Loader 专业指南:深入解析游戏MOD加载器的完整配置与开发 【免费下载链接】Ultimate-ASI-Loader The Ultimate ASI Loader is a proxy DLL that loads custom .asi libraries into any game process. 项目地址: https://gitcode.com/gh_mirrors/ul/U…...
测试09测试09测试09测试09测试09
测试09测试09测试09测试09测试09...
别再只用Leaflet了!Mapbox GL JS加载本地MVT矢量瓦片保姆级教程(附避坑点)
从Leaflet到Mapbox GL JS:解锁MVT矢量瓦片的进阶玩法 当传统WebGIS开发者第一次看到Mapbox GL JS渲染的矢量瓦片地图时,那种震撼感不亚于从黑白电视切换到4K HDR。Leaflet就像一把可靠的瑞士军刀,而Mapbox GL JS则像一套专业厨房设备——当你…...
长期使用taotoken服务观察其api服务的稳定性与可用性
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期使用 Taotoken 服务观察其 API 服务的稳定性与可用性 在持续数周将 Taotoken 作为主要的大模型 API 接入平台进行开发与测试后…...
【免费下载】 探索SFP模块的奥秘:SFP-I2C工具推荐
探索SFP模块的奥秘:SFP-I2C工具推荐 项目介绍 在现代网络通信中,SFP(Small Form-factor Pluggable)模块扮演着至关重要的角色。这些模块通过I2C接口提供了丰富的信息,包括制造商、功能支持以及诊断数据等。然而&#x…...
【免费下载】 探索8051开发新境界:IAR for 8051(8.10版本)资源下载推荐
探索8051开发新境界:IAR for 8051(8.10版本)资源下载推荐 【下载地址】IARfor80518.10版本资源下载 IAR for 8051(8.10版本)资源下载 项目地址: https://gitcode.com/open-source-toolkit/1b6d8 项目介绍 在嵌…...
3步掌握B站视频转文字神器:为什么你需要这个效率提升10倍的工具
3步掌握B站视频转文字神器:为什么你需要这个效率提升10倍的工具 【免费下载链接】bili2text Bilibili视频转文字,一步到位,输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 你是否曾经为了整理一个精彩的B站…...
PIC16F驱动WS2812:8位MCU实现无限随机动态灯光算法
1. 项目概述与核心思路 几年前,我在捣鼓一个节日南瓜灯项目时,遇到了一个经典难题:手头只有一片资源极其有限的PIC16F1847微控制器,却想驱动一串WS2812(也就是大家常说的NeoPixel)LED,做出那种看…...
