LinkedIn拋棄親兒子Kafka轉(zhuǎn)投自研大殺器,這波操作背后到底藏著什么玄機?
你肯定認(rèn)識Apache Kafka 吧?那個幾乎所有財富 500 強都在用的傳奇分布式流媒體平臺?嗯,事情突然變得更有意思了。LinkedIn 作為 Kafka 的誕生地和“親爹”,竟然打算“移情別戀”。這感覺就像一位米其林大廚突然厭倦了自己的招牌菜,轉(zhuǎn)頭點了份外賣。
但慢著——這可不是普通的外賣。他們自研了一套全新的大殺器……
Kafka 這是涼了?難道我們一直都錯付了?讓我們帶著點“吃瓜”心態(tài)來扒一扒,這背后到底藏著什么玄機。
起源故事:Kafka 曾是“天之驕子”
![]()
早在2010 年,LinkedIn 就遭遇了一場危機。坐擁 9000 萬用戶(還記得那個用戶數(shù)量嗎?),海量的數(shù)據(jù)幾乎要將他們淹沒。他們急需一種能實時傳輸日志和事件的方案。于是,Kafka 誕生了。
那是一場革命,速度快得驚人,Kafka 一舉成為了 Apache 軟件基金會里的“當(dāng)紅炸子雞”。快進(jìn)到 2026 年,LinkedIn 如今坐擁 12 億用戶,日均處理記錄超過 32 萬億條。
這就好比孩子長大了,房子卻還是那么大。LinkedIn 需要的不再僅僅是“更大的房子”,而是必須推倒重來,構(gòu)建一套全新的架構(gòu)。
隱患初現(xiàn):裂痕的由來
![]()
說實話,Kafka 確實很牛,但在 LinkedIn 這種“星球級”的體量下,它開始變得像個鬧別扭的青春期少年。這也是工程師們急著尋找“出路”的原因:
元數(shù)據(jù)噩夢:試想一下,要管理150 個集群,每個集群下還有 40 萬個主題。Kafka 的中央“控制器”直接成了超級瓶頸。這就像只有一位經(jīng)理要管一萬名員工,大家都在排隊等簽字,結(jié)果啥也干不成。
“暫停世界”式的重新平衡:在Kafka 里加個 Broker(代理),感覺就像是為了放把椅子,卻得把整棟樓的家具全搬一遍。過程既緩慢、痛苦,風(fēng)險還大。
資源傾斜:有的分區(qū)過熱,有的卻過冷。這種不均衡導(dǎo)致磁盤使用率參差不齊,搞得工程師們凌晨3 點還在崩潰邊緣抓狂。
Northguard 登場:新王加冕
LinkedIn 并沒有只是給 Kafka 打個補丁敷衍了事,他們直接造出了Northguard。這絕非簡單的“Kafka 2.0”,而是一次徹底的底層重構(gòu)。簡單來說,它之所以能贏,原因如下:
1.日志分段(秘訣)
![]()
Northguard 不再是單一的分區(qū),而是將日志拆分成1GB 的小段。想象一下,這就好比把一個笨重巨大的行李箱,換成了一堆輕便的小背包。這讓負(fù)載均衡變得自動化且無縫。
2. 去中心化元數(shù)據(jù)
單一控制器瓶頸從此成為歷史。Northguard 通過 Raft 支持的狀態(tài)機將元數(shù)據(jù)分片散落到集群各處。這相當(dāng)高科技,完全分布式,意味著系統(tǒng)再也不會因為那個唯一的“大腦”卡死而凍結(jié)了。
3. Xinfra:“神奇”遷移層
![]()
面對每天32 萬億條記錄,你可沒法像關(guān)燈一樣說停就停。LinkedIn 打造了 Xinfra,一個虛擬化的 發(fā)布/訂閱 層。它就像一個萬能遙控器,讓應(yīng)用程序能同時與 Kafka 和 Northguard 無縫通信。
Kafka VS Northguard:巔峰大戰(zhàn)
![]()
Kafka對我們其他人來說已經(jīng)過時了嗎?
答案是不。
LinkedIn 是個例外。我們大多數(shù)人在午飯前并不會處理PB級 的數(shù)據(jù)。對于 99%的公司來說,Kafka(尤其是像 Confluent 這樣的托管版本)仍然是黃金標(biāo)準(zhǔn)。
這就像LinkedIn 為了達(dá)到 200 英里每小時造了一輛一級方程式賽車,而你大概只需要一輛可靠的 SUV 去上班。除非你今天用戶數(shù)也達(dá)到十億,否則不要因為一篇 LinkedIn 工程博客而重寫整個技術(shù)棧。
常見問題:你真正的想法
1、我今天可以下載Northguard嗎?
不可以。目前它是在LinkedIn 內(nèi)部管理的。他們曾暗示過以后會開源,但目前,這只是他們的私人“秘密武器”。
2、我應(yīng)該停止學(xué)習(xí)Kafka嗎?
絕對不是。Kafka是這個行業(yè)的“面包和黃油”。Northguard是“魚子醬”。你需要面包才能生存。
3、遷移有多難?
像借助Xinfra 這樣的平臺,LinkedIn 看起來很簡單(他們 90%的應(yīng)用已經(jīng)在 Xinfra 上了!)。但對我們其他人來說,DevOps 已經(jīng)夠讓人困惑了,所以也許先堅持基礎(chǔ)。
總結(jié)
LinkedIn 取代 Kafka 是工程史上的一個重大里程碑。這說明即使是最成功的工具,當(dāng)你把它們推到宇宙的極限時,也會有極限。
Northguard 會成為我們?nèi)旰蟊仨殞W(xué)習(xí)的下一個大型開源項目嗎?也許吧。但眼下,讓我們?yōu)檫@種極致的工程魄力喝彩:僅僅因為速度不夠快,他們就果斷替換掉了自己親手打造的、改變世界的發(fā)明。
原文:https://cloudwithazeem.medium.com/linkedin-kafka-replacement-new-streaming-system-76e56073eb97
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.