【大数据学习 | 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不会被去重掉

相关推荐
GIS学姐嘉欣8 分钟前
【智慧城市】2025年中国地质大学(武汉)暑期实训优秀作品(5):智慧矿产
学习·gis·智慧城市·webgis
折翼的恶魔15 分钟前
前端学习之样式设计
前端·css·学习
Brianna Home28 分钟前
从“码农”到“导演”:AI结对编程如何重塑软件工程范式
大数据·人工智能·深度学习·自然语言处理·chatgpt
云飞云共享云桌面39 分钟前
SolidWorks服务器多人使用方案
大数据·运维·服务器·前端·网络·电脑·制造
码上地球1 小时前
大数据成矿预测系列(四) | 成矿预测的“主力军”:随机森林与支持向量机深度解析
大数据·随机森林·支持向量机
电商软件开发 小银2 小时前
八年磨一剑:中品维度如何用“分布式电商”为商家打开增长新通路?
大数据·软件开发·私域运营·实体店转型·中品维度·数字化经济·商业模式设计
武汉唯众智创3 小时前
产教融合背景下,高职大数据技术专业“课证融通”课程解决方案
大数据·课证赛创·课证融通·大数据专业·大数据技术专业·高职大数据技术专业
小小王app小程序开发5 小时前
任务悬赏小程序深度细分分析:非技术视角下的运营逻辑拆解
大数据·小程序
光影少年7 小时前
angular生态及学习路线
前端·学习·angular.js
非极限码农9 小时前
Neo4j图数据库上手指南
大数据·数据库·数据分析·neo4j