【大数据学习 | kafka】kafka的整体框架与数据结构

1. kafka的整体框架

首先kafka启动以后所有的broker都会向zookeeper进行注册,在/brokers/ids中以列表的形式展示所有的节点,在/controller节点中使用独享锁实现broker的选举,其中一个机器为主节点。其他的为从节点,选举的根本原则就是谁先来的谁就是主节点

broker0现在是controller节点,他会监听所有的broker节点的动态变化,然后选举出来所有的topic的分区的主从,这个选举完毕以后,所有的操作都会指向主分区,不管是生产数据还是消费数据都是主分区在管理,从分区只是同步数据的。

broker0选举完毕以后将数据上传到zookeeper中,记录在/broker/topics这个目录中,具体的topic信息都会被其他的broker节点进行同步过去,多个broker都会识别选举出来的主从分区信息

其中在zookeeper中的ISR它是数据的传递优先级别顺序 ,如上图中数据的传输应该先到leader节点所在的机器4上面然后数据在同步到其他的从分区中,从而所有的分区数据都同步完毕保持一致

ISR:即副本集。

数据生产和传输都会走主节点,topic正常对外提供服务

2. kafka的基本数据结构

kafka中的数据存储分为两个部分,分别是k-v两个部分,并且存储的数据都是二进制的我们在存储数据的时候要转换为二进制存储,使用的时候读出来也是二进制的 ,我们需要人为转换成自己想要的数据类型才能使用,这个和hbase的存储及其相似,但是其中的k一般我们都不会做任何操作,只放入value的值

注意,虽然数据分为k-v两个部分,但是不要把它当成map集合,相同的key的数据value不会被去重掉

相关推荐
van久几秒前
.Net Core 学习:Razor Pages -- 标签助手
学习·.netcore
重生之我在番茄自学网安拯救世界1 分钟前
网络安全中级阶段学习笔记(六):网络安全 SSRF 漏洞学习笔记
笔记·学习·网络安全·ssrf
shenghaide_jiahu3 分钟前
数学分析简明教程——总练习题5
学习
神算大模型APi--天枢6465 分钟前
聚合模型 API 算力平台:前端开发的强劲助力
大数据·人工智能·科技·架构·gpu算力
西格电力科技11 分钟前
源网荷储如何重塑能源产业格局
大数据·运维·人工智能·架构·能源
0和1的舞者11 分钟前
《从静态页到自定义 Header:Spring MVC 响应能力通关指南》
java·学习·web·header·spirng
阿桂天山15 分钟前
怎样让数据资产灵动起来
大数据·人工智能
艾莉丝努力练剑22 分钟前
【C++:智能指针】没有垃圾回收?智能指针来也!破解C++内存泄漏:智能指针原理、循环引用与线程安全详解
大数据·运维·c++·安全·编辑器·智能指针
烟囱土著22 分钟前
捣鼓30天,我写了一个数学加减练习小程序
学习·算法·微信小程序·小程序
丝斯201122 分钟前
AI学习笔记整理(29)—— 计算机视觉之人体姿态估计相关算法
人工智能·笔记·学习