kafka原理

前言

… …

核心原理
1.分布式架构

由多个broker服务组成,这些broker协同工作,共同存储和管理数据,每个broker都可以独立扩展,使得kafka能够水平扩展以处理大量数据

2.分区(partitioning)

kafka将主题(topic)划分为多个分区,每个分区是一个有序的、不可变的记录序列,可以单独进行读写操作
分区允许kafka并行处理数据,提高吞吐量和容错性

3.复制(replication)

kafka支持主题的分区复制,每个分区由多个副本(replicas)
默认情况下,副本分布在不同的broker上,以提高数据的可用性和容错能力
其中一个副本是领导者(leader),负责处理读写请求;其它副本是跟随者(follower),从领导者复制复制

4.生产者(producer)

生产者是向kafka主题发送消息的应用程序
生产者可以将消息发送到特定的分区或使用键的哈希来自动分配分区
生产者可以使用确认机制来确保消息已成功写入kafka

5.消费者(comsumer)

消费者从kafka主题读取消息
kafka支持多个消费者实例从一个主题读取数据,每个实例可以独立的消费数据
消费者可以以不同的偏移量(offset)开始读取数据,支持从最新记录或历史记录开始消费

6.zookeeper集成

kafka使用zookeeper来存储集群元数据、配置信息等
zookeeper帮助管理broker之间的协调,如分区的领导者选举、集群成员管理等

7.日志结构存储索引

使用LSM树作为其存储机制,达到高效的读写操作
数据首先写入到内存的一个日志结构中,然后定期刷新到磁盘上的SSTable文件中

8.零拷贝

kafka利用操作系统的零拷贝技术来减少数据传输时的cpu负担和内存复制次数,提高数据传输效率

结语

… …

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值