← 回總覽

从 OpenAI 的 Kafka 实践看 Kafka 的云原生演进

📅 2026-05-11 13:44 InfoQ 中文 软件编程 2 分鐘 1508 字 評分: 88
Kafka OpenAI 架构设计 消息队列 云原生
📌 一句话摘要 本文深度拆解 OpenAI 如何在一年内将 Kafka 吞吐量提升 20 倍、可用性拉到 5 个 9,并分析了其通过代理层绕开 Kafka 核心语义限制的工程 trade-off,最终引出存算分离架构是解决根本问题的方向。 📝 详细摘要 文章基于 OpenAI 在 Confluent Current 2025 上的分享,详细分析了其 Kafka 基础设施的演进历程。OpenAI 最初面临 37 个独立集群、5 万并发连接、可用性不足 3 个 9 的混乱局面。为解决这些问题,他们构建了 Prism 代理层和基于 UForwarder 的消费平台,实现了多集群路由、透明迁移和故

📌 一句话摘要

本文深度拆解 OpenAI 如何在一年内将 Kafka 吞吐量提升 20 倍、可用性拉到 5 个 9,并分析了其通过代理层绕开 Kafka 核心语义限制的工程 trade-off,最终引出存算分离架构是解决根本问题的方向。

📝 详细摘要

文章基于 OpenAI 在 Confluent Current 2025 上的分享,详细分析了其 Kafka 基础设施的演进历程。OpenAI 最初面临 37 个独立集群、5 万并发连接、可用性不足 3 个 9 的混乱局面。为解决这些问题,他们构建了 Prism 代理层和基于 UForwarder 的消费平台,实现了多集群路由、透明迁移和故障转移,最终将吞吐量提升 20 倍,可用性提升至 5 个 9。但这一架构的代价是放弃了 Kafka 的排序、事务和分区处理等核心语义。文章进一步指出,这些问题的根因在于 Kafka 存算一体的架构,并引出了存算分离(如 AutoMQ)作为更根本的解决方案。文章最后讨论了存算分离的利弊,并指出 OpenAI 也在探索 Diskless Kafka 方向。

💡 主要观点

- OpenAI 通过构建 Prism 代理层和 UForwarder 消费平台,解决了 Kafka 集群混乱、连接数爆炸和可用性低的问题。 Prism 作为 gRPC 代理收敛了 5 万直连连接,实现了多集群路由和透明故障转移;UForwarder 采用推送模型,解耦了消费者与 Kafka 客户端,简化了消费端架构。

为了获得高可用性和弹性,OpenAI 被迫放弃了 Kafka 的排序、事务和分区处理等核心语义。 多集群路由和代理层破坏了 key 到 partition 的映射关系,导致无法保证全局有序和 exactly-once 语义。这暴露了传统 Kafka 在云原生环境下的根本性架构缺陷。
OpenAI 遇到的连接、扩容、故障转移等问题的根因在于 Kafka 存算一体的架构,存算分离是更根本的解决方案。 存算分离将计算与存储解耦,使 broker 无状态化,扩容变为纯元数据操作,数据持久化到对象存储可天然获得跨 AZ 高可用,从而无需在应用层做复杂绕行。

💬 文章金句

- OpenAI 的工程师在演讲中非常坦诚地承认了一件事:这套架构要求他们放弃 Kafka 的几项核心语义。

  • OpenAI 用代理层绕过的每一个问题,根因都一样:broker 既管计算又管存储,状态和节点绑死。
  • OpenAI 证明了即使放弃排序和事务也能让 Kafka 在超大规模下工作,但这个代价本身就是最好的论据:引擎层的演进已经不是可选项。

📊 文章信息

AI 初评:88

来源:InfoQ 中文

作者:InfoQ 中文

分类:软件编程

语言:中文

阅读时间:13 分钟

字数:3225

标签: Kafka, OpenAI, 架构设计, 消息队列, 云原生

阅读完整文章

查看原文 → 發佈: 2026-05-11 13:44:00 收錄: 2026-05-11 20:00:08

🤖 問 AI

針對這篇文章提問,AI 會根據文章內容回答。按 Ctrl+Enter 送出。