首页 > 其他资讯 > Kafka 不香了?LinkedIn 正在用新一代流式系统全面替代它

Kafka 不香了?LinkedIn 正在用新一代流式系统全面替代它

时间:26-04-25

Kafka在数据架构中的核心地位

Kafka在现代数据架构中扮演着基础设施的角色,其重要性如同电力系统——平时不易察觉,但一旦中断,整个数据流水线将立即陷入停滞。这套系统的起源,正是为了解决LinkedIn当时面临的数据流转难题。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

顶尖的工程实践,其标志往往不是固守辉煌的过往,而是具备前瞻性地迭代甚至替换自身成功的核心系统。

因此,当LinkedIn工程团队通过官方博客披露,正逐步使用一个名为Northguard的新系统来承接Kafka的核心职责时,技术社区的反应更多是深入探究而非单纯惊讶:作为Kafka的创造者,LinkedIn究竟遇到了何种规模的技术挑战,才会触及这套标杆系统的设计极限?

我们在此不探讨技术情怀,而是聚焦于工程决策背后的逻辑:剖析LinkedIn进行此次架构更迭的根本动因,以及他们实现平滑过渡的关键设计。

起源:Kafka为LinkedIn的特定场景而设计

将时间回溯至2010年。

当时的LinkedIn用户量约在9000万级别,其核心瓶颈在于日志、事件与用户行为数据无法实现实时、高吞吐的管道化处理。依赖传统消息中间件与数据库的技术栈已不堪重负。于是,团队做出了一个典型的工程驱动决策:自主研发一套高吞吐、低延迟且可水平扩展的分布式日志系统。

Kafka由此应运而生。

后续的发展已成为技术史的一部分:Kafka进入Apache基金会,成长为流数据处理领域的事实标准,被金融交易、实时推荐、物联网、风险控制等关键场景广泛采用。然而,一个根本性的变化在于,无论是Kafka的应用生态,还是LinkedIn自身的数据体量,其增长曲线都已远超最初的设想。

规模质变:从“互联网级”到“行星级”的数据洪流

截至2026年,LinkedIn内部的数据运营规模已进入一个全新的量级:全球用户突破12亿,每日需要处理的记录条数超过32万亿,维护的Kafka集群数量超过150个,Topic总数达到40万级别。

在此量级下,Kafka并非功能失效,而是其原始架构中的某些设计边界,在极端压力下开始显现。需要明确的是,这并非系统缺陷或设计失误,而是任何架构在面临数个数量级的规模增长时,都必须面对的“代价显性化”过程。

极限压力下Kafka架构面临的三大核心挑战

集中式元数据管理:控制器成为系统性瓶颈

Kafka的控制平面高度依赖于单一的Controller节点,负责处理Topic创建、分区分配、Leader选举以及副本重平衡等核心元数据操作。在常规规模下,这一设计简洁而高效。

但在LinkedIn的运营环境中,这相当于要求一个调度中心同时管理40万个任务队列、协调150个数据中心,并实时响应高频变更。其结果必然是:控制器成为制约整个系统弹性与可用性的放大点。

全局重平衡引发的服务中断风险

在Kafka的架构中,任何涉及集群拓扑的变更——例如增删Broker节点、扩容存储或调整副本因子——都可能触发大规模的分区重平衡。

其工程体验类似于:为了在仓库中新增一个货架,必须暂停所有出入库作业,并对全部库存进行重新摆放。在要求高吞吐与严格服务等级协议的生产环境中,这种全局性的“停止-搬运”操作,构成了不可接受的运维风险与SLA挑战。

数据倾斜与热点分区:资源利用率不均

Kafka基于分区的数据分布模型,在生产中极易导致负载不均。少数几个分区可能承载绝大部分流量,成为热点,而大量其他分区则处于低负载状态。这种数据倾斜直接导致磁盘IO、网络带宽与计算资源无法被均衡利用,是运维工程师在深夜处理告警时常见的根源之一。

范式转移:Northguard的设计哲学

面对这些深植于架构模型本身的约束,LinkedIn的工程团队做出了一个既果断又务实的决策:不再局限于在原有模型上叠加修补,而是承认,是时候引入一个基于不同底层假设的新模型了。

Northguard因此诞生。它的目标不是成为“Kafka增强版”,而是从第一性原理出发,构建一套适应行星级数据规模的新范式。

Northguard架构中的三项根本性创新

日志条带化:解构“大分区”模型

Kafka的基本数据单元是分区,而Northguard引入了更细粒度的数据模型:将数据日志切分为固定大小(例如1GB)的独立段。

这一变革至关重要。数据因此获得了天然的、细粒度的可迁移性,负载均衡得以自动化实现,从根本上避免了人工干预热点的需求。可以将其理解为:将数据存储从“一整块难以移动的巨石”,转变为“一堆可自由组合与搬运的标准化砖块”。

完全去中心化的元数据平面:Raft与分片状态机

Northguard彻底摒弃了Kafka的单点控制器设计。它将系统元数据按分片进行划分,每个分片由一个基于Raft共识算法的小型状态机集群来管理。这意味着,整个控制平面本身也是分布式且高可用的。

最终带来的核心收益是:系统消除了因单一元数据节点故障而导致全局服务中断的“阿喀琉斯之踵”。

Xinfra抽象层:实现亿级流量下的平滑迁移

这或许是其中最被低估、却最为关键的一环。LinkedIn并未要求所有业务应用进行“一刀切”的强制迁移,而是引入了一个名为Xinfra的抽象适配层。

Xinfra向上层应用提供统一的发布/订阅API,向下则同时对接Kafka与Northguard两套后端存储引擎。对于业务研发团队而言,数据管道的迁移是完全无感知的。正是这一设计,使得每日处理32万亿条记录的巨型系统能够实现平稳、渐进式的架构演进。

Kafka与Northguard:是替代还是演进?

核心结论是:这并非一场技术路线的优劣之争,而是“极端规模所驱动的技术必然分化”。

Kafka是为全球绝大多数企业设计的通用型分布式流平台,而Northguard则是为LinkedIn这种特定体量与复杂度的“超大规模物种”量身定制的专用系统。两者的区别,好比Kafka是一辆性能可靠、适应多种路况的重型卡车,而Northguard是一台为极致速度与操控性打造的赛道级方程式赛车。显然,日常通勤并不需要赛车。

给技术决策者与工程师的三个务实解答

Northguard现在可以投入使用吗?

目前尚不可以。Northguard是LinkedIn内部的专有系统,并未开源。

我们还需要深入学习和应用Kafka吗?

毫无疑问,需要。Kafka目前及在未来相当长的时间内,仍是业界构建实时数据管道时最成熟、生态最完善的事实标准。

类似规模的迁移,普通技术团队能否实施?

可行性极低。仅构建和维护类似Xinfra这样的无损迁移抽象层,其本身就是一个需要顶级工程组织能力与资源投入的大型项目。

核心洞察

真正的工程成熟度,体现在能够客观承认任何成功技术方案都有其特定的生命周期与适用边界。LinkedIn研发Northguard并非对Kafka的否定,恰恰相反——这是Kafka取得巨大成功、并推动业务发展到全新规模后所催生的必然进化。

这一案例给我们带来三点启示:第一,架构的合理性始终与业务规模动态相关,没有一劳永逸的银弹;第二,世界级的系统,最终很可能被最熟悉其优势与局限的创造者自身所超越;第三,具备勇气与能力亲手迭代自己代表作的技术团队,代表了工程文化的最高水准。

至于Kafka的未来?它依然稳固。只是LinkedIn的业务规模已经抵达了一个绝大多数公司无需、也永远不会触及的技术前沿地带。


这就是Kafka 不香了?LinkedIn 正在用新一代流式系统全面替代它的全部内容了,希望以上内容对小伙伴们有所帮助,更多详情可以关注我们的菜鸟游戏和软件相关专区,更多攻略和教程等你发现!

热搜     |     排行     |     热点     |     话题     |     标签

手机版 | 电脑版 | 客户端

湘ICP备2022003375号-1

本站所有软件,来自于互联网或网友上传,版权属原著所有,如有需要请购买正版。如有侵权,敬请来信联系我们,cn486com@outlook.com 我们立刻删除。