Kafka 入门到起飞系列 - 到底什么是再平衡?谁来执行再平衡呢?什么是组协调器呢?

news2024/12/23 13:39:47

再平衡(Rebalance)

本质上是一种协议,规定了一个消费组中所有消费者如何达成一致来分配订阅主题的每个分区
其实就是建立分区和消费者映射关系的这么一个过程,最终主题下的一个分区只会分配给一个消费者
比如有10个分区,5个消费者,那么正常情况下一个消费者分配到2个分区,如下图
在这里插入图片描述
上图我们可以看到,一个分区对应一个消费者,一个消费者可以对应多个分区
分区:消费者 = n : 1


那么到底是怎么分配的呢? 先了解,后面详细讲

Kafka提供了三种分配策略

可以通过参数partition.assignment.strategy设置

1. Range 范围分配策略
2. RoundRobin 轮询策略
3. Sticky 粘性策略

谁来执行再平衡 和 消费组管理呢?

kafka提供了一种角色: Group Coordinator 组协调器,由它负责消费组的管理

什么是 Group Coordinator - 组协调器

  1. 每个消费组分配一个组协调器,用于组管理和位移管理

  2. 消费组的第一个消费者启动后,会和Kafka broker确认,谁是组协调器(是一个broker)

  3. 之后启动的所有消费者需要和该组协调器保持通信,发送心跳

  4. 由组协调器来检测消费者的增加和减少,确认何时出发再平衡

组协调器是怎么选举出来的呢?

在这里插入图片描述

两步,当组内第一个consumer提交位移时,先计算一下写入到_consumer_offset这个主题下的哪个分区,算法如上,_consumer_offset也是一个topic嘛,这个topic下也是分很多分区的,consumer提交位移信息时也是一个producer,Kafka需要知道写入哪个分区;计算出分区号之后,那么这个分区的leader(Kafka都是leader分区对外提供读写服务)所在的机器(broker)就作为组协调器了,谁先干活谁就是了~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/797445.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

个人博客系统 -- 登录页面添加图片验证码

目录 1. 功能展示 2. 前段代码 3. 后端代码 1. 功能展示 在登录页面添加验证码登录 1. 检测到没有输入验证码或者输入的验证码错误时,进行弹窗提示.并且刷新当前验证码图片 2. 点击验证码进行刷新 2. 前段代码 1. 添加验证码标签,在密码的下面,在login.html进行修改 主要…

多模态预训练 + 自监督学习 + 下游任务介绍

预训练 1)特征提取要解决的问题是怎么分别量化文字和图像,进而送到模型学习? 特征抽取: 文本:倾向于bert等大模型 图像:神经网络,VIT等 2)特征融合要解决的问题是怎么让文字和图像的表征交…

基于Java+SpringBoot+vue前后端分离社区医院信息平台设计实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

Hadoop_HDFS_常见的文件组织格式与压缩格式

参考资料 1. HDFS中的常用压缩算法及区别_大数据_王知无_InfoQ写作社区 2. 本文主要介绍下HDFS上的常见文件格式和压缩格式 总结 : HDFS 中常见的文件存储格式 textfile :行式存储格式sequencefile :行式存储格式orc :列式存储格式, 支…

Deployment 升级应用2

上次我们说到自己手动的做使用 RS 的方式来升级 pod ,感觉还是蛮复杂的,并且容易弄错,实际生产过程中,肯定不会这样来弄,很危险 那么今天我们来分享 Deployment 的方式来显示的升级应用吧 Deployment 的方式升级应用…

3dmax崩溃后如何恢复文件?

当意外或突然关闭 3ds Max 场景时,有时会出现恢复 3ds Max 场景的问题。在处理任何项目的过程中,有时需要恢复 3ds Max 场景,为此在专用文件夹中创建备份副本。如果您使用的是 Windows 操作系统并且未更改项目位置或不知道项目位置&#xff0…

如何通过nginx代理实现外网访问内网mysql或oracle数据库

项目开发部署中经常会遇到MySQL或Oracle数据库安装在内网,而我们的应用服务只能部署在外网,如果实现外网服务访问连接内网的数据库呢?本次介绍如何通过Nginx配置实现外网访问内网数据库。 1、前置机服务器 首先要保证有一台前置机服务器既可…

为Android构建现代应用——主体结构

创建Screents和ViewModels 在前面的章节中,我们已经分析了OrderNow项目的理论概念和我们将赋予的组织。 在本章中,我们将开始实现初始结构和模板,这将联接每一个应用程序的部分。 首先将添加以下带有各自视图模型的主屏幕: •…

到底什么是前后端分离

目录 Web 应用的开发主要有两种模式: 前后端不分离 前后端分离 总结 Web 应用的开发主要有两种模式: 前后端不分离 前后端分离 理解它们的区别有助于我们进行对应产品的测试工作。 前后端不分离 在早期,Web 应用开发主要采用前后端不…

“云上新气象”,VDI+IDV混合部署,麒麟信安云正式上线某市气象局!

阴晴冷暖,风云变幻,气象与人们的生活密切相关,气象局信息系统的智慧高效运营对于提升灾害防御能力、城市气象观测等方面具有重要作用,随着气象业务范围的不断扩展,气象局的信息化建设与数字化转型也亟需提上日程。 走…

【Solr】Solr搜索引擎使用

文章目录 一、什么是Solr?二 、数据库本身就支持搜索啊,干嘛还要搞个什么solr?三、如果我们想要使用solr那么首先我们得安装它 一、什么是Solr? 其实我们大多数人都使用过Solr,也许你不会相信我说的这句话,但是事实却是如此啊 ! 每当你想买自己喜欢的东东时,你可能会打开某…

Python入门准备

安装并配置Python 1、想要更新终端里Python的版本: 在python.org官网上下载最新版,下载安装以后,在终端输入python3进行询问。 2、完成Python环境的安装(Linux:操作系统,基于Cent0S7) 在Linux系统上安装Python需要…

中小学分班查询系统如何制作?这个方法3分钟轻松搞定

暑假一过完,新学年即将开始,学校面临着一个重要的任务:学生分班。无论是新生入学还是低年级升高年级,都需要进行分班工作。这对负责分班的老师们来说,增加了相当大的工作量和挑战。 在开学前,如何快速搞定…

Pure Admin 图标篇

1. 官方图标讲解地址 B站搜索:vue-pre-admin之图标篇,作者“乐于分享的程序员小铭” 2. 实操 1. iconify官网 Icon Sets • Iconify 2. 在build->optimize.ts 中,配置所用的Iconify icon包 如: "iconify-icons/ep&quo…

LNK 2001 问题的一种解决办法

问题: 可能有这样的报错,error LNK 2001: 无法解析的外部符号" protected: virtual void __thiscall testing::Test::SetUp(void)"。 解决办法: 换了各编译器就好了,从第二个换到了第一个。 猜测:这里是因…

开江县“五社联动 关爱一老一小“主题活动之银龄爱齿健康关爱计划

为进一步宣传和推动“五社联动”关爱“一老一小”的社工服务理念,近日,开江县网格员社会工作服务中心携手彭州市葡萄树社会工作服务中心链接爱心单位(夜郎古酒)捐赠的1440支牙膏(合和泰品牌牙膏)&#xff0…

Electron从构建到打包程exe应用

Electron从构建到打包程exe应用 Electron文档搭建网页装载到 BrowserWindow中定义全局对象进程之间通信打包应用程序对代码进行签名 Electron文档 搭建 创建一个文件夹,在根目录执行以下几个命令 1.npm init 2.npm install electron --save-dev 3.根目录新增main…

route_group时调整routing rule via array大小

使用route_group secondary pg pin时需要multi via/double via,可以使用如下办法。 用create_routing_rule -vias {{via_def_name array_size NR/R} {xx xx xx}} R和NR就是能不能旋转 set_routing_rule net_name -rule rule_name -max_routing_layers MEx -max_la…

RHCSA(一)

1、在VMware上创建虚拟机以及安装Linux操作系统,使用ssh进行远程连接 1.创建虚拟机 2.安装Linux系统 3.使用Xshell进行远程ssh连接终端 进入了Linux系统,打开终端输入ifconfig回车得到了虚拟网卡的IP地址为192.168. 163.128 打开Xshell远程连接软件…

Longhorn vs Rook vs OpenEBS vs Portworx vs IOMesh:细说 5 款 K8s 持久化存储产品优劣势

云原生时代下,越来越多的企业开始使用 Kubernetes(K8s)承载数据库、消息中间件等“生产级”有状态工作负载。由于这些应用对数据持久保存、性能、容量扩展和快速交付具有较高的要求,企业往往需要采用专为 Kubernetes 环境设计的持…