下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Kafka原理剖析及实战演练 第5课Kafka Leader ElectionDATAGURU专业数据分析社区Kafka原理剖析及实战演练 第一版(Jason Guo)Zookeeper的基本操作n 四种节点类型 PERSIST, PERSIST_SEQUENTIAL, EPHEMERAL, EPHEMERAL_SEQUENTIALn 可Ø Ø ØØWatch操作Created event: Enabled with a call to existsDeleted event: Enabled with a call to exists, getData
2、, and getChildrenChanged event: Enabled with a call to exists and getDataChild event: Enabled with a call to getChildrenn Watch特征Ø客户端先得到通知再得到数据ØWatch被fire后即取消,再Watch后续变化DATAGURU专业数据分析社区Kafka原理剖析及实战演练 第一版(Jason Guo)基于Zookeeper的Leader Election抢注Leader节点非公平模式创建Leader父节点,如 /chroot,并将其设置为persis
3、t节点各客户端通过在/chroot下创建Leader节点,如/chroot/leader,来竞争Leader。该节点应被设置为ephemeraln1.2.3.4.若某创建Leader节点,则该客户端竞选为Leader若创建Leader节点失败,则竞选Leader失败,在/chroot/leader节点上得通知Leader可通过删除Leader节点来放弃Leaderexist的watch,一旦该节点被删除则获5.6.如果Leader宕机,由于Leader节点被设置为ephemeral,Leader节点会自行删除。而其它节点由于在Leader节点上了watch,故可得到通知,参与下一轮竞选,从而保
4、证总有客户端以Leader工作DATAGURU专业数据分析社区Kafka原理剖析及实战演练 第一版(Jason Guo)基于Zookeeper的Leader Election先到先得,后者监视前者公平模式创建Leader父节点,如 /chroot,并将其设置为persist节点各客户端通过在/chroot下创建Leader节点,如/chroot/leader,来竞争Leader。该节点应被设置为ephemeral_sequentialn1.2.3.客户端通过getChildren方法获取/chroot/下端竞选Leader点,如果其的节点的id在点中最小,则当前客户4.否则,在前面一个节点上w
5、atch,一旦前者被删除,则它得到通知,返回step 3(并不能直接认为成为新Leader,因为可能前面的节点只是宕机了)5.Leader节点可通过自行删除创建的节点以放弃LeaderDATAGURU专业数据分析社区Kafka原理剖析及实战演练 第一版(Jason Guo)Leader Election在Curator中的实现n LeaderLatchØ竞选为Leader后,不可自行放弃权Ø只能通过close方法放弃权Ø强烈建议增加ConnectionStateListener,当连接SUSPENDED或者LOST时视为丢失权Ø可通过await方法等待获
6、取权,并可加入timeout是否为LeaderØ可通过hasLeadership方法Ø可通过getLeader方法获取当前LeaderØ可通过getParticipants方法获取当前竞选Leader的参与方DATAGURU专业数据分析社区Kafka原理剖析及实战演练 第一版(Jason Guo)Leader Election在Curator中的实现n LeaderSelectorØ竞选Leader后回调takeLeadership方法Ø可在takeLeadership方法中实现业务逻辑Ø一旦takeLeadership方法返回,即视
7、为放弃权Ø可通过autoRequeue方法循环获取权Ø可通过hasLeadership方法是否为LeaderØ可通过getLeader方法获取当前LeaderØ可通过getParticipants方法获取当前竞选Leader的参与方DATAGURU专业数据分析社区Kafka原理剖析及实战演练 第一版(Jason Guo)Kafka“各自为政”Leader Electionn “各自为政”Leader ElectionØ每个Partition的多个Replica同时竞争Leadern 优点Ø实现简单n 缺点ØHerd Effe
8、ctØZookeeper负载过重ØLatency较大DATAGURU专业数据分析社区Kafka原理剖析及实战演练 第一版(Jason Guo)Kafka基于Controller的Leader Electionn 基于Controller的Leader ElectionØ整个集群中出一个Broker作为ControllerØController为所有Topic的所有Partition指定Leader及Followern 优点Ø极大缓解Herd Effect问题Ø减轻Zookeeper负载ØController与Leader及Follower间通过RPC通信,高效且实时n 缺点Ø
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027年江苏省道德与法治初三全真模拟卷(含答案)
- 巩固提高 2026-2027学年第一学期九年级英语外研版上学期期末测试卷(含答案)
- 2027年中考甘肃省道德与法治初三人教版考前最后冲刺卷(含答案)
- 2027年湖南省道德与法治中考考前一周加分卷(含答案)
- 更上一层楼 2026年秋季七年级生物人教版第六单元单元测试卷(含答案)
- 2027年陕西省语文九年级查缺补漏专项训练(含答案)
- 2027年山东省语文九年级查缺补漏卷(含答案)
- 2027年上海市历史九年级模拟演练卷(含答案)
- 第1讲 地球和地图
- 2026 河南事业编社会工作岗 模拟预测试卷 含答案
- 中国临床肿瘤学会(CSCO)胃癌诊疗指南(2026版)
- 湖南省长沙市2026-2027学年高二上学期第一次月考物理自编卷01(人教版必修一、二、三9-11单元)(含答案)
- 2026年硕士研究生《306临床医学综合能力(西医)》试题
- 二年级(上)语文生字课课贴250字
- 小学主题班会课件:语言表达
- 《决策树与智能推理》教学课件-2025-2026学年人教版初中信息技术(人工智能专册)
- SHS 01038-2019包装机维护检修规程
- 2026广发银行秋季校园招聘笔试历年典型考题及考点剖析附带答案详解
- 养老护理员环境及物品清洁培训
- 安全员c2考试试题及答案详解
- 水电自动装置高级工技能鉴定理论考试题库(含答案)
评论
0/150
提交评论