你听说过Apache Kafka吧就是那个几乎所有财富 500 强企业都在使用的传奇分布式事件流平台好吧现在事情变得更复杂了。Kafka的发源地和“骄傲的父母” LinkedIn已经开始转向其他平台了。这就像看着一位名厨突然对自己的招牌菜失去了兴趣转而点外卖一样。等等不是点外卖LinkedIn他们直接打造了一家名为Northguard的崭新餐厅。Kafka死了吗我们都活在谎言中吗让我们温和地剖析一下现状看看背后究竟发生了什么。起源故事卡夫卡还是个“金童”的时候2010年LinkedIn遇到了一个难题。他们拥有9000万用户还记得当时的用户数量吗数据量庞大不堪重负。他们需要一种方法来实时传输日志和事件。于是Kafka应运而生。它具有革命性意义速度极快是 Apache 软件基金会的“宠儿”。快进到 2026 年LinkedIn 如今拥有12 亿用户每天处理超过32 万亿条记录。基本上孩子长大了但房子却没变大。LinkedIn需要的不仅仅是一栋更大的房子他们需要的是一套全新的架构。裂缝为何开始显现Kafka固然出色但在LinkedIn这种“行星级”规模下它开始像个喜怒无常的青少年一样胡闹。这就是工程师们开始寻找替代方案的原因元数据噩梦想象一下你要管理 150 个集群每个集群有 40 万个主题。Kafka 的中央“控制器”会成为巨大的瓶颈。这就像只有一个经理管理 1 万名员工一样。所有人都在等待签名导致所有工作都无法完成。“暂停世界”式的重新平衡在 Kafka 中添加一个新的经纪商就像搬进新公寓但你必须把整栋楼里的所有家具都搬走才能放下一把椅子。这既缓慢又痛苦而且风险极高。资源倾斜某些分区“过热”而另一些分区则“过冷”。这会导致磁盘使用率不均让工程师们在凌晨三点抓耳挠腮。Northguard登场新王者降临LinkedIn 不仅仅是修补了 Kafka他们还构建了Northguard。这不仅仅是“Kafka 2.0”而是一次根本性的重新设计。以下是它获胜原因的简要概述1、日志分块秘诀Northguard 不采用整体式分区而是将日志分割成1GB 的小块。这就像用一堆轻便的小背包代替一个笨重的大行李箱。它使负载均衡变得自动且无缝。2、去中心化元数据不再受单控制器瓶颈的限制。Northguard 使用基于 Raft 的状态机将元数据分片分布在整个集群中。它采用高科技、分布式架构这意味着系统没有可能出现故障的“核心”。3、Xinfra神奇的迁移层你不可能简单地一键切换32万亿条每日记录。LinkedIn 构建了Xinfra一个虚拟化的发布/订阅层。它就像一个万能遥控器允许应用程序同时与 Kafka 和 Northguard 通信。Kafka vs Northguard巅峰对决卡夫卡对我们其他人来说已经过时了吗答案是否定的。LinkedIn是个例外。我们大多数人在午饭前都不会处理PB级的数据对于 99% 的公司而言Kafka尤其是像 Confluent 这样的托管版本仍然是黄金标准。这就像 LinkedIn 为了追求 200 英里/小时的速度而打造了一辆一级方程式赛车一样。你可能只需要一辆可靠的 SUV 就能上班。除非你今天也迎来了十亿用户否则别因为 LinkedIn 的一篇工程博客文章就重写你的整个技术栈。常见问题1今天可以下载 Northguard 吗不目前是LinkedIn内部使用的功能。他们暗示过以后会开源但就目前而言这是他们的“秘密武器”。2我应该停止学习 Kafka 吗绝对不是。Kafka 是这个行业的“面包和黄油”Northguard 是“鱼子酱”。你需要面包才能生存。3迁移有多难借助 Xinfra 这样的工具LinkedIn 让 DevOps 看起来轻而易举他们 90% 的应用都已经基于 Xinfra 了。但对我们其他人来说DevOps 本身就已经够让人困惑了所以或许应该先从基础知识入手。结语LinkedIn 取代 Kafka 是工程史上一个重要的里程碑。它表明即使是最成功的工具在被推向极限时也会有其局限性。Northguard 会不会成为下一个我们所有人都要在三年内学习的大型开源项目也许会。但就目前而言我们不妨先赞叹一下这家公司惊人的工程“灵活性”仅仅因为速度不够快就替换掉了自己曾经改变世界的发明。