在 Linux 环境下选择 Kafka 版本,主要看 Scala 版本、Kafka 版本线、功能需求、兼容性 这几点。下面给你一个实用选型指南。
Kafka 官方下载包通常长这样:
kafka_2.13-3.6.1.tgz
含义是:
2.13:Scala 版本3.6.1:Kafka 版本Kafka 是用 Scala 写的,但 Scala 版本对使用者基本无感知,只要和服务端兼容即可。
目前主流:
| Scala 版本 | 说明 | 建议 |
|---|---|---|
| 2.12 | 老版本,兼容性好 | 老系统、保守环境 |
| 2.13 | ✅ 当前主流推荐 | 新项目首选 |
| 3.x | 新 Scala,生态不成熟 | 不建议生产使用 |
✅ 结论:优先选 kafka_2.13-xxx
✅ 结论:新项目直接用 Kafka 3.x
| 模式 | 说明 | 建议 |
|---|---|---|
| ZooKeeper | 成熟稳定 | 老系统、保守生产 |
| KRaft | 新一代架构 | 新集群、3.3+ 可用 |
⚠️ 注意:
kafka_2.13-3.6.1
或
kafka_2.13-3.7.x
原因:
| Kafka 服务端 | 客户端 |
|---|---|
| 3.x | 3.x(推荐) |
| 2.8+ | 2.8+ |
⚠️ 客户端不要落后太多
| 场景 | 推荐 |
|---|---|
| 新生产集群 | Kafka 3.6 / 3.7(2.13) |
| 老系统迁移 | Kafka 2.8 → 3.x |
| 学习 / 测试 | 3.6 / 3.7 |
| 不想用 ZK | 3.5+ KRaft |
| 极致稳定 | 3.6.1 |
wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
tar -xzf kafka_2.13-3.6.1.tgz
如果你愿意,可以告诉我:
我可以给你具体版本 + 安装方案。