1 Kafka 基础
1.1 什么是 Apache Kafka?
Apache Kafka 是一个分布式流媒体平台,由 LinkedIn 开发并于2011年贡献给 Apache 软件基金会,现在是一个开源项目。Kafka 设计用来处理高吞吐量的数据流,并支持将数据持久化到磁盘。它通常用于构建实时数据管道和流式应用程序。
Kafka 主要具有以下几个关键特性:
- 高吞吐量:针对磁盘数据结构进行了优化,使 Kafka 能够提供高数据吞吐量,远超传统消息队列系统。
- 可扩展性:Kafka 可以通过添加更多的节点来横向扩展,无需停机即可扩展。
- 持久性和可靠性:数据被复制到集群中的多个节点,以防止数据丢失。Kafka 保证了在指定的复制因子下的消息不会丢失。
- 容错:支持通过多副本机制容忍节点失败,维持服务的可用性。
- 实时性:Kafka 适用于需要低延迟和实时处理的场景。
- 离线和在线数据处理:Kafka 不仅支持实时数据处理,也支持离线数据处理。
在 Kafka 生态系统中,主要有以下几个组件&#x