Kafka源码解读 - 架构及核心概念
架构设计
Kafka结构

- Broker:一台Kafka服务器就是一个Broker,集群由多个Broker组成,一个Broker中保存有多个Topic的不同分区副本,Broker之间没有主从关系。
- Topic:每条发送到Kafka集群的消息都属于某个主题Topic,物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存在一个或多个Broker上,但从客户角度不需要关心数据存放在何处,只需要指定Topic就可以生产和消费消息。
- Partition:一个Topic可以分成若干的分区,并保存在集群的多个Broker节点上。分区中的每一条消息都会被分配一个自增ID,即消费位移Offset。Kafka只保证按照一个分区中的顺序将消息发送给消费者,但是不保证多个分区之间的顺序。
- Offset:分区中的消息消费位移,指向该分区最新消费位移的下一位。
- Replica:分区的副本,一个分区可以配置多个副本保存在不同Broker节点上,副本集合中有一个Leader副本,其他为Follower副本,Leader副本处理外部读写请求,Follower副本负责同步Leader副本数据。
- Message:消息是通信的基本单位。
- Producer:消息生产者,将消息发布到指定Topic,也可以指定发到某个分区,基于轮询或者Hash算法。
- <

本文深入解析Kafka的架构设计,包括Broker、Topic、Partition、Offset、Replica、Producer、Consumer和Consumer Group。核心概念部分讨论了分区多副本机制、AR & ISR、HW & LEO,阐述了Kafka如何通过这些机制实现高可用性和高性能。
最低0.47元/天 解锁文章
2038

被折叠的 条评论
为什么被折叠?



