Kafka 全面指南:从基础到实战
📚 1. 什么是 Kafka?
Apache Kafka 是一个分布式的 消息队列 和 流处理平台,用于处理 实时数据流。它可以将 数据生产者 和 数据消费者 解耦,提供高性能、可扩展的消息传递系统。
📝 Kafka 的核心概念
名词 | 描述 |
---|---|
Producer | 生产者,向 Kafka 发送消息 |
Consumer | 消费者,从 Kafka 读取消息 |
Topic | 主题,消息的分类渠道 |
Partition | 分区,将 Topic 划分为多个分区,提高性能 |
Broker | Kafka 服务器实例,负责存储和传递消息 |
Zookeeper | 管理 Kafka 集群的元数据(在新版本中可选) |
🚀 2. Kafka 的特点
- 高吞吐量:支持每秒处理 百万级消息。
- 分布式:数据可以分布在多个节点上,易于扩展。
- 持久化:消息被持久化到磁盘,支持消息恢复。
- 高可用:通过 分区和副本机制 提供高可用性。
- 支持实时流处理:可与 Kafka Streams、Flink 等工具结合进行流处理。
🔧 3. Kafka 的架构
Kafka 的架构包含以下核心组件:
- Producer(生产者):发送消息到 Kafka 的 Topic。
- Broker(代理):Kafka 的服务器节点,每个 Broker 存储一部分数据。
- Consumer(消费者):从 Topic 中读取消息。
- Zookeeper:管理集群元数据和选举 Controller。
🖥️ 4. Kafka 的安装和配置
1️⃣ 安装 Kafka
下载 Kafka:
wget https://downloads.apache.org/kafka/3.5.0/kafka_2.13-3.5.0.tgz
tar -xvf kafka_2.13-3.5.0.tgz
cd kafka_2.13-3.5.0
2️⃣ 启动 Kafka 和 Zookeeper
# 启动 Zookeeper
bin/zookeeper-server-start.sh config/zookeeper.prope