为什么 Netflix 从大单体演进到联合网关?

网关聚合层本应带来秩序,但随着团队的壮大,服务的增多和领域复杂性的增加,开发网关聚合层变得越来越困难。为了解决这个问题,Netflix 使用 GraphQL 并引入了联合网关(Federated Gateway)。

网关聚合层本应带来秩序,但随着团队的壮大,服务的增多和领域复杂性的增加,开发网关聚合层变得越来越困难。为了解决这个问题,Netflix 使用 GraphQL 并引入了联合网关(Federated Gateway)。

Netflix 以其庞大的原创内容库而闻名。你是否曾想过支撑其运营的技术?

今天,我们将探讨 Netflix Studio API 架构的演进历程。下图展示了其 4 个阶段。

为什么 Netflix 从大单体演进到联合网关?

01 大单体

早期,Netflix Studio 采用的是单体架构。想象一下一个庞大的互联系统,所有组件都是一个统一代码库的一部分。

02 直接访问

随着 Netflix 的发展以及与更多的电影公司合作创作原创内容,这块巨石开始成为路障。那么,下一步该怎么办?Netflix 的工程师们将单体分割成微服务。这种转变提高效率和自主性。它将其架构变成了一个服务网。

03 网关聚合层

但直接访问的效果却远非理想。为了克服这一难题,他们引入了网关聚合层。他们构建了一个 API 网关,将所有服务绑定在一起为客户提供统一的前台。这种设置非常适用于跨多个服务的用例。

试想一下,Studio 服务需要 3 个 API(如电影、制作和人才)来渲染前端用户界面,网关聚合层使之成为可能。

04 联合网关

网关聚合层本应带来秩序,但随着团队的壮大,服务的增多和领域复杂性的增加,开发网关聚合层变得越来越困难。为了解决这个问题,Netflix 使用 GraphQL 并引入了联合网关(Federated Gateway)。

这一策略允许领域专家管理自己的 "图",同时为各种 Studio 应用程序提供统一、高效的访问点。

GraphQL 是 Federated Gateway 的核心。这种强大的查询语言使用户界面能在一次往返中准确获取所需内容。GraphQL 联合允许 Netflix 建立一个单一的 GraphQL 网关,从所有其他 API 获取数据。

从单体到联合网关的过程说明,系统架构应适应不断动态增长的业务需求。

我们也不应该单纯地去复制 Netflix 和 Google 等巨头的基础设施,因为这些需求我们可能永远也遇不到。无需过度优化我们不存在的问题。

最好的架构是适合我们业务需求的架构,而不是模仿科技巨头。

©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经

(0)
打赏 微信扫码打赏 微信扫码打赏 支付宝扫码打赏 支付宝扫码打赏
清一色的头像清一色管理团队
上一篇 2024年1月9日 17:08
下一篇 2024年1月9日 17:08

相关推荐

发表评论

登录后才能评论

联系我们

在线咨询:1643011589-QQbutton

手机:13798586780

QQ/微信:1074760229

QQ群:551893940

工作时间:工作日9:00-18:00,节假日休息

关注微信