




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、kafka权威指南之深入Kafka文章目录Kafka如何进行复制Kafka如何处理来自生产者和消费者的请求Kafka的存储细节,比如文件格式和索引。集群节点节点IDbroker启动的时候,它通过创建临时节点把自己的ID注册到ZooKeeper中,当有broker加入或退出集群时,这些节点就可以获得通知。关闭broker时,节点也会消息,但是ID还继续存在,若再启用相同ID的全新broker,它会拥有相同的分区和主题。控制器控制器是一个broker,在zk中创建临时节点/controller成为控制器,它主要用于分区首领选举。若控制器关闭或者zk断开连接,zk临时节点消失,集群其他broker通
2、过watch对象收到通知后,它们会尝试让自己成为新控制器。每个选举出来的控制器都会在zk中通过条件递增操作获得一个全局最大的controllerepoch,其他节点若收到比较旧的epoch会忽略它们若控制器发现一个broker离开集群,此时失去首领的分区需要一个新首领,然后在分区副本中确定谁是新首领,新首领确定后开始处理外部请求,其他分区开始从新首领复制消息。若控制器发现一个broker加入集群,他会使用brokerID检查是否存在现有分区的副本,若有就会发变更通知总结:Kafka使用zk的临时节点来选举控制器,并在节点加入集群or退出集群时通知控制器。然后控制器负责在节点加入or离开时进行分
3、区首领选举。控制器使用epoch来避免脑裂(两个节点同时认为自己是当前控制器)复制个分布式,可分区的,可复制的提交日志服务。复制作用:保证在个别节点宕机的情况下仍然可以保证可用性,持久性Kafka使用主题来组织数据,每个主题被分为若干分区,每个分区有多个副本,副本被保存在broker首领负责处理请求响应。跟随者负责复制数据,保持数据一致性。首选首领是创建主题时指定的,分区的副本清单里可以很容易找到首选首领处理请求Kafka提供了一个基于TCP的二进制协议,指定请求的格式broker按照请求的顺序来处理,保证了kafka保存的消息是有序的三种请求/消息a)生产请求:客户端写入broker的消息b
4、)获取请求:消费者,跟随着副本从broker读取消息c)元数据请求:包含客户端感兴趣的主题列表,服务端返回主题-分区-副本-首领等元数据信息消息fsir4lit範土nsir,三j,jl=izsiiic?rrWjkm监听的每个端口都运行一个Acceptor线程,Acceptor线程创建连接交给Processor线程,Processor线程从客户端获取请求消息放入请求队列,从响应队列获取响应消息发送给客户端。Kafka客户端要自己负责将生产请求and获取请求发送到正确的broker上,通过元数据请求获取主题的元数据,然后缓存到客户端,可通过metadata.max.age.ms来配置刷新元数据的频
5、率当生产请求到达分区的首领之后,broker检查主题权限和acks配置参数,如果是0,1则直接返回,如果是all则将请求保存到缓冲区中,直到首领发现所有跟随者副本都复制了该消息,再返回客户端响应当*获取请求(请求某主题具有特定偏移量的消息时)到达分区的首领时,然后使用零复制技术(直接把文件发送到网络通道,而无需保存在本地缓存中广*向客户端响应数据。客户端可以设置broker返回数据的上限防止耗尽客户端内存,设置broker返回下限减少CPU和网络开销,当然不会让客户端一直等待下去,设置超时时间解决这个问题。物理存储Kafka的基本存储单元是分区,分配到broker的目录上。分区分配创建主题时,
6、kafka如何在broker间分配分区。例如6个broker,创建一个包含10个分区的主题,复制系数为3目标a)broker间尽可能的均匀的b)确保每个分区的副本分布在不同broker上c)尽可能将分区的副本分布在不同机架上按照数字顺序来选择broker,按照交替机架的方式来选择broker文件管理kafka为管理员为每个主题都配置了数据保留期限由于在一个大文件查找和删除消息是很费时的,所以将文件分成若干个片段文件格式除了键、值和偏移量外,1肖息里还包含了消息大小、校验和、消息格式版本号、压缩算能(Snappy、GZip或LZ4)和时间戳(在0.10.0版本里引入的)圧端和解压值的大小IHB魔
7、檄压芻和消费者可以从任意偏移量位置开始读取消息。例如读取从偏移量100开始的1MB数据索引:将偏移量映射到片段文件和偏移量在文件里的位置清理日志每个日志片段=干净的部分,污浊的部分茂一噩是”干净”的F这部分是H忐的注騒这戦失了-些“奧湮和稍如果在Kafka启动时启用了清理功能(通过配置log.cleaner.enabled参数),每个broker会启动一个清理管理器线程和多个清理线清理线程在创建好偏移量map后,开始从干净的片段处读取消息,从最旧的消息开始,把它们的内容与map里的内容进行比对。检查消息的键是否存在于map中,如果不存在,那么说明消息的值是最新的,就把消息复制到替换片段上。如果键已存在,消息会被忽略,因为在分区的后部已经有一个具有相同键的消息存在。在复制完所有的消息之后,我们就将替换片段与原始片段进行交换,然后开始清理下一个片段。完成整个清理过程之后,每个键对应一个不同的消息这些消息的值都是最新删除消息为了彻底把一个键从系统中删除
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抖音用户账号注销及内容版权归属合同
- 电动汽车电池研发工程师职位聘用合同
- 智能垃圾分类中转站建设与运营维护合同
- 网络文学作品改编权授权与电子书制作合同
- 工业原料仓储及供应链管理咨询合同
- 文学出版社兼职校对工作合同
- 城市污水处理有限合伙投资合作协议
- 2025至2031年中国马口铁午餐盒市场现状分析及前景预测报告
- 2025至2030年中国麦香鸡饼干行业投资前景及策略咨询报告
- 2025至2030年中国真空焊接闸阀市场分析及竞争策略研究报告
- 建标176-2016 精神专科医院建设标准
- 大学生农村信用社实习报告
- 【教学创新大赛】《数字电子技术》教学创新成果报告
- 离散数学(下)智慧树知到课后章节答案2023年下桂林电子科技大学
- 医疗机构安全检查表
- 信息技术说课市公开课金奖市赛课一等奖课件
- 肺癌SBRT的进展课件
- 普通物理热学-李椿-电子教案
- 方案设计初步设计施工图设计要求模板
- 城乡规划管理与法规智慧树知到答案章节测试2023年同济大学
- 园来如此-园林规划设计智慧树知到答案章节测试2023年云南林业职业技术学院
评论
0/150
提交评论