网关聚合层本应带来秩序,但随着团队的壮大,服务的增多和领域复杂性的增加,开发网关聚合层变得越来越困难 。为了解决这个问题?.NETflix 使用 GraphQL 并引入了联合网关(Federated Gateway) 。Netflix 以其庞大的原创内容库而闻名 。你是否曾想过支撑其运营的技术?
今天,我们将探讨 Netflix Studio API 架构的演进历程 。下图展示了其 4 个阶段 。
文章插图
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 等巨头的基础设施,因为这些需求我们可能永远也遇不到 。无需过度优化我们不存在的问题 。
最好的架构是适合我们业务需求的架构,而不是模仿科技巨头 。
【为什么 Netflix 从大单体演进到联合网关?】
推荐阅读
- 让软件支持多个Linux发行版,动态库不兼容?3种解法!
- 从Google Gemini到OpenAI Q*:生成式AI研究领域全面综述
- 李易峰:从顶流到沉寂,现状如何
- 早上空腹吃鸡蛋好吗?为什么 ? 早上空腹吃鸡蛋好吗
- 白素贞为什么怕端午节 白素贞在端午节那天喝了什么
- 光遇披肩长发怎么获得,从寸头开始留披肩发需要多长时间
- 从绿茶一姐到三奢女王,赵露思是如何撕下“关系户”标签?
- 减肥,为什么体重下降的速度越来越慢,为了瘦到满意,需要做什么
- 一战德国如何“从空气中制造炸药和粮食”,消除饥饿也让无数人亡
- 为什么《情满四合院》被戏称为《禽满四合院》?