一、概述
1.1 定义1.2 消息队列的应用场景1.3 关键词
一、概述 1.1 定义Kafka是 一个开源的 分 布式事件流平台 (Event Streaming
Platform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。
消息队列的主要应用场景包括:缓存/消峰、解耦和异步通信
1.3 关键词| 关键词 | 描述 | 解释 |
|---|---|---|
| Producer | 消息生产者 | 就是向 Kafka broker 发消息的客户端 |
| Consumer | 消息消费者 | 向 Kafka broker 取消息的客户端 |
| Consumer Group(CG) | 消费者组 | 由多个 consumer 组成 |
| Broker | 消息的实例 | 一台 Kafka 服务器就是一个 broker。一个集群由多个 broker 组成。一个broker 可以容纳多个 topic。 |
| Topic | 消息的主题 | 可以理解为消息的分类,kafka的数据就保存在topic。在每个broker上都可以创建多个topic,生产者和消费者面向的都是一个 topic |
| Partition | Topic的分区 | 每个topic可以有多个分区,分区的作用是做负载,提高kafka的吞吐量。同一个topic在不同的分区的数据是不重复的,partition的表现形式就是一个一个的文件夹 |
| Replication | 消息副本 | 一个 topic 的每个分区都有若干个副本,一个 Leader 和若干个Follower,副本的作用是做备胎。当主分区(Leader)故障的时候会选择一个备胎(Follower)上位,成为Leader。在kafka中默认副本的最大数量是10个,且副本的数量不能大于Broker的数量,follower和leader绝对是在不同的机器,同一机器对同一个分区也只可能存放一个副本(包括自己) |
| Leader | 每个分区多个副本的“主” | 生产者发送数据的对象,以及消费者消费数据的对象都是 Leader |
| Follower | 每个分区多个副本中的“从” | 实时从 Leader 中同步数据,保持和Leader 数据的同步。Leader 发生故障时,某个 Follower 会成为新的 Leader |



