目录:
消息队列核心原理(一):消息中间件与协议介绍
消息队列核心原理(二):Kafka核心原理
消息队列核心原理(三):RabbitMQ核心原理
Kafka核心概念
- Broker
- Kafka服务端程序,一个节点就是一个Broker
- 存储topic数据,就是主题数据,记录一类数据的概要等信息
- Producer
- 创建消息,发送到mq
- 发送消息到topic
- Consumer
- 消费队列的消息
- Consumer Group
- 一个topic可以发送给不同的组,但是一个组中只能有一个consumer消费消息。
- Topic
- 消息的主题,或者叫类别,每个消息都有自己的主题
- Partition
- 是Kafka中存储数据的基本单元,每一个topic至少有一个partition且partition是有序的。
- 一个topic的多个partition,分布在集群的多个server上
- 消费者数量一定 ≤ \le ≤ partition数量
- replication
- 副本,每个partition有多个replication,副本数据是一样的
- 默认为1,即没有副本只有本体
- 副本数量最多为broker数量(这个好理解,多的话放哪?)
- replication leader、replication follower
- 我们想想之前的Redis主从的概念,是一个意思。不赘述。但是后面我会说不同的地方。
- replication manager
- 负责副本状态的切换
- offset
- 每一个consumer都会为他消费的partition记录一个offset,下次从这个offset开始读
- Kafka把offset保存在consumer group里
Kafka特点
- 支持多订阅者,每个订阅者都要有一个partition,所以订阅者数量 ≤ \le ≤partition数量
- 吞吐量大,延迟低。
- 高并发。同时可以存在数千客户端读写
- 容错性强。
- 扩展性强,支持热扩展。
Kafka并非读写分离式的主从,所以这

本文深入探讨Kafka的核心概念,包括Broker、Producer、Consumer和Partition。介绍了Kafka的特点,如高吞吐量、低延迟和强大的容错性。详细阐述了Broker的分区策略,包括如何决定消息发送到哪个Partition。接着,讨论了Kafka的可靠性保证,如数据存储流程、副本同步机制和高水位标记。文章还提到了日志处理和Kafka的高性能特性,如零拷贝技术。
最低0.47元/天 解锁文章
424





