kafka leader选举过程浅析

文章目录

    • 概要
    • 核心概念
    • leader选举具体流程
    • 小结

概要

kafka我们都知道它是通过副本机制,来支持负载均衡和故障转移等高可用的,那么具体副本的选举过程你了解吗?下面我们一起来学习下吧!

核心概念

  • Controller定义:是特殊的节点,是集群众负责管理和资源调度的Broker节点,当集群中所有Broker节点启动时,都会向zk创建controller目录,这个zk节点是“临时节点”,第一个创建成功的broker,即 成为了“controller”节点。
  • Controller节点作用:负责监听broker,topic,partition的变更,获取他们的信息,partition的主从副本的选举。
  • ISR集合:与leader节点同步的follower节点,默认leader和follower的数据落后不能大于10s,否则就被剔除ISR集合。只有在ISR集合的Follower,才能作为选举主副本的候选人。

leader选举具体流程

  1. 当leader broker挂了,所有其他节点会监听到该节点watch事件变更,这些节点发起创建controller临时节点的请求到ZK,第一个创建成功的节点,成为controller节点,负责下面的partition的选举。
  2. controller 根据ISR集合中的Follwer数据,比如:ISR=[3,2,7],按照其集合中的顺序轮询选举leader,这里编号3的follwer被选举为leader,接下来会从zk中复制元数据信息到本地,开始管理其他follower节点。
  3. 下图简单描述了选举过程
  4. 在这里插入图片描述

小结

总结下kafka的选举具体过程
Controller:负责选举
ISR:作为候选人集合
选举规则:候选人集合按照轮询策略选举
今天的文章就分享到这了,后续会继续更新的,欢迎大家一起交流和探讨,有不对的地方,请留言哈。

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

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

相关文章

文献综述如何帮助研究人员避免现有研究的重复

VersaBot一键生成文献综述 进行良好的文献综述可以作为研究人员的有力工具,避免在多个方面重复现有研究; 1.揭示现有知识: 通过努力探索过去的研究,研究人员可以全面了解其领域中已经探索和建立的内容。这些知识使他们能够确定真…

linux系统iptable防火墙开放指定ip及端口

在Linux系统中,可以使用iptables命令来配置防火墙并开放指定IP的端口。下面是一些常用的命令示例: 1. 检查当前防火墙规则: iptables -L这个命令将列出当前的防火墙规则。 2. 开放TCP端口: iptables -A INPUT -s xxx.xxx.xxx.…

Linux基础操作(下)

软件安装,CentOS系统和Ubuntu是使用不同的包管理器 CentOS使用yum管理器,Ubuntu使用apt管理器 在CentOS系统中,使用yum命令联网管理软件安装 yum语法: yum [-y] [install | remove | search ] 软件名称 在Ubuntu系统中,使用apt命…

ShardingSphere实战(1)- 分库分表基础知识

一、为什么要分库分表 分库分表是一种数据库优化策略,主要用于解决大型应用或高并发场景下数据库性能瓶颈的问题。具体来说,分库分表可以带来以下好处: 提高性能: 减少单个数据库实例的负载,避免单点性能瓶颈。当数据…

Python. 协程asyncio、gevent

1、协程是一种轻量级的并发机制,允许你在单个线程内模拟并发执行多个任务。协程非常适合用于 I/O 密集型任务,如网络请求、文件读写等,在等待 I/O 操作完成时,协程可以继续执行其他任务而不是阻塞。 生成器: 协程的基础是生成器&a…

【中项第三版】系统集成项目管理工程师 | 第 11 章 规划过程组⑦ | 11.18 - 11.20

前言 第11章对应的内容选择题和案例分析都会进行考查,这一章节属于10大管理的内容,学习要以教材为准。本章上午题分值预计在15分。 目录 11.18 规划风险管理 11.18.1 风险基本概念 11.18.2 主要输入 11.18.3 主要输出 11.19 识别风险 11.19.1 主…

算法入门:Java实现排序、查找算法

链接:算法入门:Java实现排序、查找算法 (qq.com) 冒泡/选择/插入/希尔排序代码 (qq.com) 快排/归并/堆排/基数排序代码 (qq.com)

棋子豆:西北风味的绝妙演绎

棋子豆,形状小巧如棋子,却蕴含着大大的美味。它选用了西北地区特有的优质面粉,融合了当地传统的制作工艺。在烘烤的过程中,豆子逐渐变得金黄酥脆,散发出诱人的香气。 轻轻咬上一口,“嘎嘣”作响&…

电脑桌面录屏怎么录?分享这四款软件!

在这个数字化时代,无论是教学分享、游戏直播还是会议记录,电脑桌面录屏都成为了我们日常工作和娱乐中不可或缺的一部分。但面对琳琅满目的录屏软件,如何挑选出既高效又易用的那一款呢?别急,今天就为大家揭秘四款超实用…

Java面试八股之Spring DAO的作用

Spring DAO的作用 Spring DAO (Data Access Object) 是 Spring 框架的一个重要组成部分,它提供了一套用于简化数据访问操作的抽象层。Spring DAO 的核心目的是使开发人员能够更容易地处理数据访问相关的异常,并提供一致的异常处理机制,同时简…

文件描述符(fileno)及文件系统

fileno: #include <stdio.h> main() {FILE *fp;int fd;fp fopen("/etc/passwd", "r");fd fileno(fp);printf("fd %d\n", fd);fclose(fp); } 一&#xff0e;fileno()函数-CSDN博客https://blog.csdn.net/TuxedoLinux/article/detai…

七夕告白攻略:天使智能体教你如何设计完美表白卡片!独属程序员地浪漫!

文章目录 &#x1f495;七夕浪漫告白天使&#x1f495;&#x1f495;浪漫风格的表白卡片设计&#x1f495;&#x1f495;甜蜜风格的表白卡片设计&#x1f495;&#x1f495;温馨风格的表白卡片设计&#x1f495;&#x1f495;幽默风格的表白卡片设计&#x1f495;&#x1f495;…

51、PHP 实现简单的快速排序

题目&#xff1a; PHP 实现简单的快速排序 描述&#xff1a; function simpleQuickSort(array $list) {$length count($list);if( $length < 1){return $list;}else{$pivot $list[0];$left_list array();$right_list array();for($i 1; $i < $length; $i){if($lis…

MySQL学习(16):视图

视图是一种虚拟临时表&#xff0c;并不真正存储数据&#xff0c;它的作用就是方便用户查看实际表的内容或者部分内容 1.视图的使用语法 &#xff08;1&#xff09;创建 create view 视图名称 as select语句; #视图形成的虚拟表就来自于select语句所查询的实际表&#xff0c;…

Vue使用阿里巴巴字体

阿里巴巴字体使用效果 字体包下载 官方下载链接 解压字体文件到指定的文件夹 引用字体文件 我的是uniApp的项目&#xff0c;所以在公共css样式中引用这个字体文件 /*每个页面公共css */ font-face {font-family: "alimamFont";font-weight: 400;src: url("~/s…

Fiddler Mock测试详解

在软件开发过程中&#xff0c;Mock测试是一种非常有效的测试方法&#xff0c;特别是在处理复杂依赖或尚未完成的服务时。Fiddler作为一款强大的网络抓包工具&#xff0c;也提供了Mock测试的功能&#xff0c;允许开发者在不实际调用后端接口的情况下&#xff0c;模拟接口响应&am…

将YOLOv8模型从PyTorch的.pt格式转换为TensorRT的.engine格式

TensorRT是由NVIDIA开发的一款高级软件开发套件(SDK)&#xff0c;专为高速深度学习推理而设计。它非常适合目标检测等实时应用。该工具包可针对NVIDIA GPU优化深度学习模型&#xff0c;从而实现更快、更高效的运行。TensorRT模型经过TensorRT优化&#xff0c;包括层融合(layer …

为什么创业初期的ToB公司都要“交点学费”

“企业交学费”&#xff0c;本质上来说&#xff0c;就是企业成长中绕不开的“试错成本”&#xff0c;只能降低&#xff0c;无法完全避免。 但是&#xff0c;对于ToB初创企业来说&#xff0c;这个问题就相对棘手了。一是这个“费用”不可避免。二来&#xff0c;初创企业本来就没…

算法——二分查找(day10)

目录 69. x 的平方根 题目解析&#xff1a; 算法解析&#xff1a; 代码&#xff1a; 35. 搜索插入位置 题目解析&#xff1a; 算法解析&#xff1a; 代码&#xff1a; 69. x 的平方根 69. x 的平方根 - 力扣&#xff08;LeetCode&#xff09; 题目解析&#xff1a; 老…

构建未来智能:在Mojo模型中自定义模型架构的艺术

构建未来智能&#xff1a;在Mojo模型中自定义模型架构的艺术 在深度学习的世界里&#xff0c;模型架构的设计往往决定了算法的性能和适用性。Mojo模型&#xff0c;作为一个假想中的高级机器学习框架&#xff0c;允许用户实现自定义的模型架构来解决特定的问题。本文将深入探讨…