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

相关推荐
跨境数据猎手5 分钟前
外贸独立站开发:从选型到上线全流程梳理
大数据·架构·自动化
老王爱玩车8 分钟前
关于函数递归的优缺点分析
开发语言·数据结构·学习·算法
春风解人意23 分钟前
从零开始学习嵌入式P30----进程间的通信
c语言·学习
whcyhhh24 分钟前
头歌实践教学平台:大数据存储2023(十三1)
大数据·数据库·python
日拱一卒的小田27 分钟前
ZYNQ学习笔记3-ZYNQ的IIC控制器3
笔记·学习
TDengine (老段)29 分钟前
TDengine 应用案例 — IT 运维与可观测性
大数据·运维·数据库·制造·时序数据库·tdengine·涛思数据
金立基包装胶水40 分钟前
水性纸袋热封胶,常见故障有多少种?
大数据·笔记·其他
geneculture42 分钟前
从融智学到人机互助:技术成果交易的理论重构与战略前瞻——基于“九五至尊模型”与融智学三大判断的分析
大数据·人工智能·融智学的重要应用·哲学与科学统一性·融智时代(杂志)·序位逻辑的实例化·中国企业知识产权战略专栏
lvts_cs44 分钟前
如何判断化工产业规划的定位布局是否合理
大数据·人工智能
山甫aa1 小时前
【从零开始的 Web 后端学习】文件上传一篇搞定(MultipartFile + 本地存储 + 阿里云 OSS 保姆级教程)
前端·学习·阿里云