Netflix 利用 Amazon Kinesis Data Streams 改善客户体验、提高效率并降低成本
AWS 每天处理和丰富多个 TB,代表数十亿个事件,分析查询的响应时间不到 1 秒。
Netflix 正在雇用 亚马逊网络服务 (AWS) 几乎可以满足您所有的计算和存储需求,包括数据库、分析、推荐引擎、视频转码……数百种功能共同使用 AWS 上的 100,000 多个服务器实例。
这导致了一个动态且极其复杂的网络环境,其中应用程序在 AWS 内和通过 Internet 不断进行通信。这 监控和优化您的网络 Netflix 必须继续改善客户体验、提高效率并降低成本。
特别是,Netflix 需要一个解决方案 摄取、增强和分析您的网络生成的数 TB 数据 每日作为虚拟私有云 (VPC) 流日志。该解决方案将使 Netflix 能够识别性能改进的机会,例如,通过确定哪些应用程序在区域之间进行通信并放置它们。该公司还可以通过快速检测和减少应用程序停机来增加正常运行时间。
每条记录包含有关两个 IP 地址之间的通信的信息。然而,在像Netflix这样的动态环境中,IP地址可以每天甚至每分钟在应用程序之间切换,IP地址没有多大意义。 “我们在开始这项计划之前获得的数据来源是单方面的,”他表示。 约翰·贝内特,Netflix 的执行软件工程师。
“我们知道一个应用程序与其他应用程序相连,但我们不知道对话的双方,也不知道如何优化这些通信或应用程序在网络上的位置,”他强调说。
Netflix 着手建立一个新的数据源,通过将 VPC 流日志与应用程序元数据相结合,提供有关应用程序和区域之间通信的更多信息。
从一开始,AWS 就允许 Netflix 尝试不同的方法来分析其网络数据。 “在设计过程之初,尝试不同的数据处理方式的灵活性非常重要,”贝内特说。 “我们尝试了多种设计并使用了很多 AWS 产品才实现了这一目标。”
Netflix 最终实施的解决方案,内部称为 Dredge,通过以下方式集中流记录: Amazon Kinesis 数据流。该应用程序实时从 Amazon Kinesis Data Streams 读取数据,并使用应用程序元数据丰富 IP 地址,以提供网络环境的完整情况。
Bennett 说:“数据通常会输入数据库来创建索引,从而实现快速查询。Dredge 通过流式传输和索引来将流日志与应用程序元数据合并,而无需使用数据库,从而消除了很多复杂性。”
丰富的数据到达一个名为 Druid 的开源分析应用程序。 Netflix 使用 Druid 的 OLAP 查询功能快速将数据划分为区域、可用区和时间范围。这使得查看和深入了解网络的行为和功能变得更加容易。
AWS 是 Dredge 的合理选择,部分原因是数据已经驻留在 AWS 云中。 “从像 Kafka 这样的外部系统发布、传输和使用如此大量的信息是很困难的,”Bennett 说。 “只需几次 API 调用即可将数 TB 的流日志集中到 Amazon Kinesis Data Streams 中。现在我们可以专注于从数据中获取更多信息,而不仅仅是访问数据。”
这 可扩展性 由于 Netflix 上的网络使用具有弹性和周期性,因此 Amazon Kinesis Data Streams 非常适合 Dredge 应用程序。 “对于我们的网络数据而言,能够扩展更具成本效益,而使用 Amazon Kinesis Data Streams 的其他替代方案则不然,”Bennett 说道。
实时网络监控
Netflix 的基于 Amazon Kinesis Streams 的解决方案被证明具有高度可扩展性, 每天处理数十亿流量。 通常,大约 1,000 个 Amazon Kinesis 分片并行工作来处理流数据。
“Amazon Kinesis Data Streams 每天处理数 TB 的日志数据,但事件会在几秒钟内显示在我们的分析中,”Bennett 说。 “我们可以实时发现并响应问题,确保高可用性和良好的客户体验。”
现在,Netflix 可以找到优化其应用程序的新方法,例如,将应用程序从一个区域移动到另一个区域,或者切换到更适合特定类型流量的网络协议。 “我们基于 Amazon Kinesis 构建的解决方案使我们能够找到提高效率、降低成本和提高弹性的方法,从而增强客户体验,”Bennett 说。
虽然数据传输解决方案对于 IT 领域来说并不新鲜,但它是网络领域的一项创新。 “Netflix 在 AWS 上投入巨资,部分原因是它综合了底层网络,因此我们不必处理交换机和路由器,”Bennett 说。 “我们现在可以在堆栈的更高级别进行监控、分析和优化。使用我们的数据中心这是不可能实现的。”
你喜欢这篇文章吗?
订阅我们的 通讯 你不会错过任何东西。

















