Overview
kafka 的介绍
构架模型
Producer: 生产者,生产消息的 主要接收一些外部的数据源 从外部获取数据 我们可以从 flume 中获取数据
kafkaAPI: 生产数据,通过 push 的方式主动将数据推送到 kafka 的 topic 当中去
topic: 主题,说白了里面就是一些各种数据
partition: 消息的分区,解决横向扩展问题。为了解决 partition 丢失问题,引用了一个副本机制.
Broker: 一个服务器叫做一个 broker;
Consumer: 消费者,主要用来消费数据的,主动的 pull 到 topic 拉取数据
Zookeeper: 为了解决消费者消费数据的时候,确定 topic 中到底有多少个 parttion, 都在哪些机器上.
Kafka 消费模型: 组的概念,同一时间,一个组中,只能有一个线程去消费 parttion 中的数据,Partition 里面包含了多个 segement,segement 里面两个文件 .log 文件 .index 文件
- .log 记录了我们的数据,文件是顺序读写的
- .index 记录了.log 文件的索引
Offset: 消息的偏移量,我们消费数据的时候,都要记录消息的 offset, 下次再消费的时候,我们就可以确定数据该从哪里进行消费