组件概述
1. Producer(消息生产者)
- 核心作用:生成数据源,将消息发送至指定Topic。
- 关键特性:支持批量发送、分区策略选择,以及可配置的重试逻辑,提高了数据传输效率和可靠性。
2. Topic(主题)
- 核心作用:作为消息的分类容器,是生产和消费的逻辑通道。
- 关键特性:多Topic设计便于数据管理和隔离,支持动态创建和配置调整。
3. Partition(分区)
- 核心作用:物理分片,是Topic内消息的有序存储单元。
- 关键特性:通过水平扩展分区数量,直接提升系统吞吐量和并行处理能力。
4. Replication(副本)
- 核心作用:确保数据的高可用性和容错性。
- 关键特性:多副本机制保障即使单点故障也能无缝切换,维持服务连续性。
4. Broker(消息服务器)
- 核心作用:构成Kafka集群的服务器节点,负责消息的接收、存储与分发。
- 关键特性:多个 Broker 组成集群(Broker Cluster),每个Broker可能存储多个Topic的Partitions,提供高可用性和持久化存储,是系统稳定性的基石。
5. Consumer(消息消费者)
- 核心作用:从Topic中拉取消息并处理。
- 关键特性:消费者组机制实现了灵活的负载均衡和故障恢复,支持自动提交或手动控制偏移量,以满足不同场景需求。
除此之外,Kafka还依赖于ZooKeeper来进行集群管理和配置协调。ZooKeeper是一个分布式协调服务,用于维护Kafka集群的元数据信息和分布式锁等。