Kafka
一、Kafka介绍
1.kafka简介
1.1 kafka是一个分布式消息队列。
1.2 kafka集群和consumer都依赖zookeeper保存meta信息。
1.3 kafka通信协议基于TCP协议
二、kafka工作流程分析
1.工作流程总体分析
producer:生产者
consumer:消费者
broker:topic、partition
topic:分区和副本。
zookeeper:注册消息
2.kafka生产过程分析
Replication:副本
ACK机制:即消息确认机制。
设置为all:生产者不丢数据。
3.broker保存数据
4.消费过程分析
4.1 高级和低级API
区别:能够自行控制offset
4.2 消费者组:group.id
同一个消费组消费者不能消费同一分区数据,可消费不同分区数据。
4.3 消费方式
pull从broker拉取数据消费。
4.4 消费者组案例
5.小结
三、低级API
1.低级消费者API思路
四、kafka面试问题
1.kafka 为什么快,我就这么说1)partition 并行处理。
2)顺序写磁盘,充分利用磁盘特性。
3)采用了零拷贝技术。
4)利用了现代操作系统分页存储 Page Cache 来利用内存提高 I/O 效率。