LinkedIn抛弃亲儿子Kafka转投自研大杀器,这波操作背后到底藏着什么玄机?

你肯定认识Apache Kafka 吧?那个几乎所有财富 500 强都在用的传奇分布式流媒体平台?嗯,事情突然变得更有意思了。LinkedIn 作为 Kafka 的诞生地和“亲爹”,竟然打算“移情别恋”。这感觉就像一位米其林大厨突然厌倦了自己的招牌菜,转头点了份外卖。

但慢着——这可不是普通的外卖。他们自研了一套全新的大杀器……

Kafka 这是凉了?难道我们一直都错付了?让我们带着点“吃瓜”心态来扒一扒,这背后到底藏着什么玄机。

起源故事:Kafka 曾是“天之骄子”

打开网易新闻 查看精彩图片

早在2010 年,LinkedIn 就遭遇了一场危机。坐拥 9000 万用户(还记得那个用户数量吗?),海量的数据几乎要将他们淹没。他们急需一种能实时传输日志和事件的方案。于是,Kafka 诞生了。

那是一场革命,速度快得惊人,Kafka 一举成为了 Apache 软件基金会里的“当红炸子鸡”。快进到 2026 年,LinkedIn 如今坐拥 12 亿用户,日均处理记录超过 32 万亿条。

这就好比孩子长大了,房子却还是那么大。LinkedIn 需要的不再仅仅是“更大的房子”,而是必须推倒重来,构建一套全新的架构。

隐患初现:裂痕的由来

打开网易新闻 查看精彩图片

说实话,Kafka 确实很牛,但在 LinkedIn 这种“星球级”的体量下,它开始变得像个闹别扭的青春期少年。这也是工程师们急着寻找“出路”的原因:

元数据噩梦:试想一下,要管理150 个集群,每个集群下还有 40 万个主题。Kafka 的中央“控制器”直接成了超级瓶颈。这就像只有一位经理要管一万名员工,大家都在排队等签字,结果啥也干不成。

“暂停世界”式的重新平衡:在Kafka 里加个 Broker(代理),感觉就像是为了放把椅子,却得把整栋楼的家具全搬一遍。过程既缓慢、痛苦,风险还大。

资源倾斜:有的分区过热,有的却过冷。这种不均衡导致磁盘使用率参差不齐,搞得工程师们凌晨3 点还在崩溃边缘抓狂。

Northguard 登场:新王加冕

LinkedIn 并没有只是给 Kafka 打个补丁敷衍了事,他们直接造出了Northguard。这绝非简单的“Kafka 2.0”,而是一次彻底的底层重构。简单来说,它之所以能赢,原因如下:

1.日志分段(秘诀)

打开网易新闻 查看精彩图片

Northguard 不再是单一的分区,而是将日志拆分成1GB 的小段。想象一下,这就好比把一个笨重巨大的行李箱,换成了一堆轻便的小背包。这让负载均衡变得自动化且无缝。

2. 去中心化元数据

单一控制器瓶颈从此成为历史。Northguard 通过 Raft 支持的状态机将元数据分片散落到集群各处。这相当高科技,完全分布式,意味着系统再也不会因为那个唯一的“大脑”卡死而冻结了。

3. Xinfra:“神奇”迁移层

打开网易新闻 查看精彩图片

面对每天32 万亿条记录,你可没法像关灯一样说停就停。LinkedIn 打造了 Xinfra,一个虚拟化的 发布/订阅 层。它就像一个万能遥控器,让应用程序能同时与 Kafka 和 Northguard 无缝通信。

Kafka VS Northguard:巅峰大战

打开网易新闻 查看精彩图片

Kafka对我们其他人来说已经过时了吗?

答案是不。

LinkedIn 是个例外。我们大多数人在午饭前并不会处理PB级 的数据。对于 99%的公司来说,Kafka(尤其是像 Confluent 这样的托管版本)仍然是黄金标准。

这就像LinkedIn 为了达到 200 英里每小时造了一辆一级方程式赛车,而你大概只需要一辆可靠的 SUV 去上班。除非你今天用户数也达到十亿,否则不要因为一篇 LinkedIn 工程博客而重写整个技术栈。

常见问题:你真正的想法

1、我今天可以下载Northguard吗?

不可以。目前它是在LinkedIn 内部管理的。他们曾暗示过以后会开源,但目前,这只是他们的私人“秘密武器”。

2、我应该停止学习Kafka吗?

绝对不是。Kafka是这个行业的“面包和黄油”。Northguard是“鱼子酱”。你需要面包才能生存。

3、迁移有多难?

像借助Xinfra 这样的平台,LinkedIn 看起来很简单(他们 90%的应用已经在 Xinfra 上了!)。但对我们其他人来说,DevOps 已经够让人困惑了,所以也许先坚持基础。

总结

LinkedIn 取代 Kafka 是工程史上的一个重大里程碑。这说明即使是最成功的工具,当你把它们推到宇宙的极限时,也会有极限。

Northguard 会成为我们三年后必须学习的下一个大型开源项目吗?也许吧。但眼下,让我们为这种极致的工程魄力喝彩:仅仅因为速度不够快,他们就果断替换掉了自己亲手打造的、改变世界的发明。

原文:https://cloudwithazeem.medium.com/linkedin-kafka-replacement-new-streaming-system-76e56073eb97