详细介绍
Apache Kafka 是一个高吞吐、低延迟的分布式流式平台,设计用于处理实时数据流的发布/订阅、持久化存储和流式处理。Kafka 最初由 LinkedIn 开发,后由 Apache 软件基金会维护,广泛用于日志收集、事件驱动架构和实时分析领域。它将数据以主题(topic)组织,支持水平扩展和高可用部署,并与常见的流处理框架互操作。
主要特性
- 高吞吐与低延迟:基于顺序写盘与分区并行处理,能在常见硬件上做到百万量级消息吞吐。
- 持久化与容错:消息持久化到磁盘并通过副本机制保证数据可靠性。
- 水平扩展:通过分区(partition)和 broker 扩容实现线性扩展能力。
- 丰富的生态:包含 Kafka Connect、Kafka Streams 等组件,便于与存储、数据库与流处理系统集成。
使用场景
Kafka 常用于日志聚合、指标收集、事件驱动微服务、流式 ETL、实时分析与应用之间的异步消息传递。在大规模数据平台中,它通常作为事件总线和缓冲层,解耦生产者与消费者,并支持回放历史数据以便重放消费。
技术特点
Kafka 的架构围绕 topic、partition、offset 与 broker 设计,使用顺序写入与零拷贝机制提高 IO 性能;副本复制与选举机制实现容错;基于偏移量的消费模型支持精确一次或至少一次的处理语义(由上层消费逻辑决定)。更多信息请参阅官方站点 Apache Kafka 。