Kafka基础架构介绍

Kafka基础架构介绍 Kafka 是一个分布式、高吞吐量、低延迟的流处理平台,核心用于消息传递、日志收集、实时数据管道等场景。其架构设计和底层原理围绕“高吞吐”“高可用”“持久化”三大目标展开,以下从核心架构和底层机制两方面解析。 主要应用场景: ①日志收集(如ELK架构中收集应用日志); ②消息系统(解耦生产者和消费者); ③流式数据处理(与Spark Streaming、Flink等结合); ④事件溯源(记录系统状态变化的事件序列); ⑤数据同步(跨系统数据实时同步)。 一、Kafka 核心架构 Kafka 的架构由四大核心组件和关键概念构成,整体呈现分布式集群形态: 1. 核心组件 Producer(生产者):向 Kafka 集群发送消息的客户端(如应用程序、日志采集器等)。 Consumer(消费者):从 Kafka 集群读取消息的客户端(如数据分析程序、下游服务等)。 Broker( broker 节点):Kafka 服务器实例,负责存储消息、处理生产/消费请求,多个 broker 组成集群。 ZooKeeper(协调服务):早期版本(2.8 前)用于管理集群元数据(如 broker 注册、分区 leader 选举、配置存储等);新版本(2.8+)引入 Self-Managed Metadata Quorum,逐步弱化对 ZooKeeper 的依赖。 2. 关键概念 Topic(主题):消息的逻辑分类,生产者按 Topic 发送消息,消费者按 Topic 订阅消息(类似“消息队列名称”)。 Partition(分区):每个 Topic 被拆分为多个分区(Partition),分区是 Kafka 并行处理的基本单位。 每个分区是有序、不可变的消息日志(仅支持追加写入),消息按发送顺序编号(Offset,从 0 开始递增)。 分区分布在不同 broker 上,实现数据分片存储和并行读写(吞吐量随分区数增加而提升)。 Replica(副本):为保证数据高可用,每个分区可配置多个副本(Replica),其中一个为Leader 副本(处理读写请求),其余为Follower 副本(同步 Leader 数据,Leader 故障时替代)。 三者是描述Partition副本状态的术语: AR(Assigned Replicas):Partition的所有副本集合(包括Leader和Follower)。 ISR(In-Sync Replicas,同步副本集):与Leader副本保持同步的副本集合(包括Leader本身),满足两个条件:①与Leader保持网络连接;②同步滞后不超过replica.lag.time.max.ms(默认30秒)。 若 Follower 长时间未同步,会被踢出 ISR,仅 ISR 中的副本可参与 Leader 选举。 ...

2025-07-21 · FLY的狐狸