1. Kafka 基础知识与概念
- Apache Kafka: 开源分布式事件流平台,用于实时数据处理与传输。
- 主要用途: 大数据实时处理、日志聚合与传输、消息队列与微服务集成、网站活动追踪与用户行为分析、数据集成。
2. Kafka 架构与设计
- Producer: 发布消息到 Kafka 集群的应用程序。
- Broker: Kafka 集群的服务器节点,存储并转发消息。
- Consumer: 从 Kafka 读取消息并处理的应用程序。
- Topic: 消息的逻辑分类或通道名称。
- Partition: 每个 Topic 可被划分为多个 Partition,提高并发处理能力。
3. Kafka 消息顺序性保证
- 分区: 每个 Partition 内部消息有序。
- 单生产者到单 Partition: 保证消息顺序。
- 同步发送: acks=all 确保消息被所有 ISR 写入。
- 消息偏移量: 每个消息的唯一标识,保证消费顺序。
4. Kafka 消息存储
- Log Segments: 物理存储消息的文件,每个 Partition 由多个 Segments 组成。
- Segment 命