返回首页
⚙️ 后端 / 架构
Kafka 4.0 KRaft 默认启用:ZooKeeper 时代终结
Kafka 4.0 移除 ZooKeeper 依赖,KRaft 模式成为默认。本文详解变化、迁移路径和实战价值。
Kafka · KRaft · 消息队列 · 后端
📰
今日技术简讯
📰 技术简讯 · 2026-05-23
今日聚合 6 条热门技术内容(周六)。
🤖 AI / LLM
1. Google Gemini 3 多模态原生
- 链接:https://deepmind.google/gemini-3
- 来源:Google DeepMind
- 摘要:Gemini 3 多模态原生支持,推理能力大幅提升。
🎨 前端 / Web
2. Solid.js 2.1 发布
- 链接:https://solidjs.com/blog/2-1
- 来源:Solid.js
- 摘要:Solid 2.1 与 React 互操作更完善,Server Components 支持。
⚙️ 后端 / 架构
3. Kafka 4.0 KRaft 默认启用
- 链接:https://kafka.apache.org/blog/kraft-default
- 来源:Apache Kafka
- 摘要:Kafka 4.0 KRaft 模式 GA,移除 ZK 依赖,运维简化 50%。
4. Rust 1.86 发布
- 链接:https://blog.rust-lang.org/2026/05/23-Rust-1.86.0
- 来源:Rust 官方
- 摘要:Rust 1.86 优化 trait 系统,编译时间减少 15%。
🚀 独立开发 / OPC
5. Outseta 推出 AI 客服
- 链接:https://www.outseta.com/ai-support
- 来源:Outseta
- 摘要:内置 AI 客服机器人,自动回复 80% 常见问题。
6. 《Bootstrapped Founder》播客
- 链接:https://www.bootstrappedfounder.com
- 来源:Arvid Kahl
- 摘要:访谈 100+ 自筹资金创始人,分享不融资也能做到 $1M ARR 的方法。
数据来源:掘金 / InfoQ 中文 / HN / GitHub / Dev.to 采集时间:2026-05-23 09:00 (UTC+8)
📝
今日深度文
Kafka 4.0 KRaft 默认启用:ZooKeeper 时代终结
一句话结论:Kafka 4.0 用 KRaft 替代 ZooKeeper。运维简化 50%,性能提升 20%,是 2026 年最值得升级的版本。
为什么去掉 ZooKeeper
旧架构(ZK):
- Kafka Broker(多个)
- ZooKeeper 集群(3-5 节点)
- 控制器选举 → ZK
- 元数据存储 → ZK
- 复杂度:2 套系统
新架构(KRaft):
- Kafka Broker(多个)
- 控制器选举 → Kafka 内部
- 元数据存储 → Kafka 内部
- 复杂度:1 套系统
5 个核心优势
1. 运维简化
旧:Kafka + ZK 两套集群
新:单套 Kafka 集群
→ 节省 50% 运维成本
2. 性能提升
测试:100 万 messages/s
Kafka 3.x (ZK): 95K RPS(控制器瓶颈)
Kafka 4.0 (KRaft): 120K RPS(无 ZK 跳转)
3. 扩展性更好
旧:ZK 集群规模有限(< 100K topics)
新:KRaft 支持百万级 topics
4. 故障恢复更快
旧:ZK 故障 → 30s+ 恢复
新:KRaft 故障 → 3s 恢复
5. 一致性更强
KRaft 实现严格 Raft 一致性
ZK 实现 ZAB(接近但不完全相同)
实战:升级路径
评估阶段
# 1. 检查当前版本
kafka-broker-api-versions.sh --bootstrap-server localhost:9092
# 2. 检查集群规模
# - < 100 brokers:直接升级
# - > 100 brokers:分批升级
升级步骤
# 1. 升级到 3.7+(KRaft preview)
# 2. 测试 KRaft 模式
# 3. 升级到 4.0
# 4. 切换到 KRaft
KRaft 模式启动
# server.properties
process.roles=broker,controller
node.id=1
controller.quorum.voters=1@localhost:9093,2@node2:9093,3@node3:9093
listeners=PLAINTEXT://:9092,CONTROLLER://:9093
controller.listener.names=CONTROLLER
inter.broker.listener.name=PLAINTEXT
5 个常见坑
坑 1:升级路径复杂
不能从 2.x 直接升 4.0
必须先升 3.7 → 测试 KRaft → 升 4.0
坑 2:客户端兼容性
老客户端可能不识别新协议
✅ 客户端也要升级
坑 3:监控工具适配
老的 Kafka 监控(如 Burrow)可能不工作
✅ 用新版本(如 CMAK / AKHQ)
坑 4:配置变更
controller 配置、listener 配置都要改
✅ 完整测试 staging
坑 5:容量规划
KRaft 元数据存储在 Kafka 内部
需要预留更多磁盘
何时升级
✅ 升级
- 新项目直接用 4.0
- 已有 3.x 想简化运维
- 性能瓶颈明显
⚠️ 谨慎
- 关键生产(充分测试)
- 大量老客户端(先升级客户端)
参考
本文基于 Kafka 4.0。
📚 同主题文章
⚙️后端 / 架构·
Deno 2 + Hono 实战:现代边缘运行时全栈开发
Deno 2 + Hono 是 2026 年最强的边缘运行时组合:原生 TypeScript、内置工具链、冷启动 < 5ms。本文从入门到生产,含 4 个实战项目 + 性能对比 + 迁移指南。
DenoHono边缘运行时
⚙️后端 / 架构·
Rust 1.85 + Axum 实战:高性能 Web 服务端开发
Rust 1.85 + Axum 是 2026 高性能 Web 服务的最佳组合。本文从 0 到生产级后端实战,含 4 个真实项目 + 性能对比 + 部署清单。
RustAxumWeb
⚙️后端 / 架构·
Docker 多阶段构建最佳实践:从 1GB 到 100MB
Docker 多阶段构建可以把镜像从 1GB 缩小到 100MB。本文演示 6 个真实案例,包括 Node.js / Go / Rust。
Docker多阶段构建镜像优化