大数据
阅读 1
评论 0
点赞 0
Kafka 核心原理详解:架构、存储、可靠性与消费机制
Kafka 是分布式流处理平台,本质是高吞吐、可持久化的消息队列,解决上下游数据时间差问题。消息系统有点对点(Queue)和发布订阅(Pub/Sub)两种模式,Kafka 通过消费者组实现组内点对点、组间发布订阅。架构核心包括 Producer、Broker、Topic、Partition(含 Leader 和 Follower 副本)、Consumer Group 及 Zookeeper。存储采用 Segment 文件(.log 存储数据,.index 稀疏索引),通过二分查找快速定位消息。生产者可靠性依赖 ACK 机制(0/1/-1),acks=-1 时需 ISR(同步副本)全部确认;副本通过 HW 和 LEO 水位线保证一致性。幂等性基于 PID 和序列号实现单分区去重,事务支持跨分区原子性。消费者使用 Pull 模式,分区分配策略有 RoundRobin、Range、Sticky;Offset 存储在 __consumer_offsets 主题,支持同步和异步提交。Kafka 常与 Flume 集成,Flume 负责采集,Kafka 负责缓冲分发。