![]() |
为什么 Netflix 选择 NGINX 作为其 CDN 的核心 - 可打印的版本 +- Netflix优惠码论坛 (https://www.sinovoter.com) +-- 版块: 合租专栏 (https://www.sinovoter.com/forum-18.html) +--- 版块: Surge与各类代理加速器合租 (https://www.sinovoter.com/forum-57.html) +--- 主题: 为什么 Netflix 选择 NGINX 作为其 CDN 的核心 (/thread-7525.html) |
为什么 Netflix 选择 NGINX 作为其 CDN 的核心 - netflix - 08-04-2023 自推出以来的几年内,Netflix 的在线视频流媒体服务已发展到为 40 个国家/地区的超过 5000 万用户提供服务。我们已经在 Netflix 的采用微服务:架构设计的经验教训和Netflix 的采用微服务:团队的经验教训中分享了 Netflix 的软件开发工程师从传统的整体开发流程过渡到持续交付和微服务时采用的一些最佳实践。和工艺设计。 在这篇文章中,我们将讨论 Netflix 成功的另一个核心贡献者:其内容交付网络 (CDN)、Open Connect。我们感到自豪的是,NGINX 在每台 Open Connect 交付设备上运行,在 Netflix 跟上视频服务爆炸性增长步伐的能力中发挥着关键作用。NGINX 的 Gleb Smirnoff 与 Open Connect 团队合作了两年多,去年 10 月在我们的用户大会 nginx.conf2014 上,他解释了 Netflix 选择 NGINX(以及 FreeBSD)来为其业务的这一关键部分提供支持的原因。 Netflix 为什么要建立自己的 CDN Netflix 最初将流媒体视频交付外包给三个大型 CDN 供应商(Akamai、Level3 和 LimeLight)。随着该服务变得越来越流行,Netflix 认为构建和管理自己的 CDN 是有意义的,原因如下:
最重要的是,Netflix 构建了自己的 CDN,以便更好地控制应用程序交付和用户体验。为了向客户提供最佳的流媒体传输,Netflix 需要最大限度地控制传输链中的三个基本组件:
Netflix 能够以供应商提供的通用 CDN 无法实现的方式优化视频流的 Open Connect。Open Connect 使 Netflix 能够以更低的成本提供卓越的用户体验,并更好地了解全球应用程序的性能。 为什么 Netflix 选择 NGINX 和 FreeBSD 正如 Gleb 所说,从一开始,Netflix 的目标就是“从单个设备每秒获得越来越多的千兆比特”。具体来说,Netflix 需要最大限度地增加每个设备可以同时服务的订户数量。Open Connect 工程师预计需要对软件进行微调才能实现这一目标,因此他们决定使用开源软件,因为它具有无限的可扩展性。 如前所述,Netflix 在可能的情况下将其视频流设备放置在其客户 ISP 的数据中心。由于设备上运行的软件将掌握在第三方手中,Netflix 选择使用 BSD 风格许可证而不是 GNU 公共许可证 (GPL) 的项目。 Netflix 选择的具体开源项目是:
NGINX 的另一个好处是,虽然开源软件是在 BSD 风格的许可证下分发的,但其所有核心开发人员都是 NGINX, Inc. 的全职员工,NGINX, Inc. 为其商业产品 NGINX Plus 提供企业级支持。在这方面,它结合了OSS和商业软件的最佳特性。 NGINX 用于运行自定义模块的灵活框架也吸引了 Netflix,Open Connect 团队已经创建了专门针对其视频流需求的模块。 结合 FreeBSD 和 NGINX 可以带来更多好处:
NGINX Plus 和 NGINX 也可以优化您的应用程序交付 从一开始,NGINX 就被设计为具有适应性并支持应用程序交付的各个方面。为了使我们的商业客户更容易部署类似于 Netflix 的应用程序,NGINX Plus 将 Web 服务、负载平衡、内容缓存和媒体流结合在一个易于使用的软件包中。查看我们的案例研究,了解其他领先公司如何使用 NGINX Plus 交付具有性能、安全性和规模的应用程序。 |