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

相关推荐
沧海寄馀生几秒前
Apache Hadoop生态组件部署分享-Spark
大数据·hadoop·分布式·spark·apache
专注数据的痴汉3 分钟前
「数据获取」中华人民共和国乡镇行政区划简册(2010-2017)(2011-2012缺失)
大数据·人工智能·信息可视化
专注数据的痴汉9 分钟前
「数据获取」中国河流水系 2000 至 2022 年变化矢量数据集
大数据·人工智能·信息可视化
数据皮皮侠13 分钟前
中国气候政策不确定性数据(2000-2022)
大数据·数据库·人工智能·信息可视化·微信开放平台
寒季66615 分钟前
Flutter 智慧零售服务平台:跨端协同打造全渠道消费生态
大数据·人工智能
六行神算API-天璇17 分钟前
可信AI的落地挑战:谈医疗大模型的可解释性与人机协同设计
大数据·人工智能
solicitous25 分钟前
第二章 信息技术发展
学习
雪兽软件35 分钟前
大数据的新技术和个人数据管理
大数据
im_AMBER39 分钟前
Leetcode 70 好数对的数目 | 与对应负数同时存在的最大正整数
数据结构·笔记·学习·算法·leetcode
飞飞传输39 分钟前
新型网闸使用场景:安全隔离与高效交换的双重突破
大数据·运维·安全