Hulu 是一家位于美国的订阅服务,提供直播和点播电视节目和电影,以及有广告和无广告的直播新闻和体育节目。Hulu 于 2008 年推出,是唯一一家让观众可以即时访问美国各大广播网络当前节目的服务提供商。

时间序列数据在 Hulu 非常重要,因为它使他们能够评估趋势,以便识别问题并对其做出反应。在使用过许多其他不符合他们需求的时间序列数据库之后,Hulu 能够使用 InfluxDB 和 Kafka 创建一个稳定、快速且持久的管道。他们创建了一个使用 InfluxDB 的系统来处理有问题的集群、禁用基础设施的很大一部分并将这些部分重新路由到其他数据中心,而绝对不会对最终用户产生影响,并创建查询限制解决方案和阻止或过滤“不良”指标。

最初,Hulu 的每个开发团队都创建和使用了自己的时间序列数据解决方案,但最终被证明是浪费的,因为存在不一致性。由于他们所有团队的需求相似,他们决定构建一个基于 Graphite 的原始时间序列数据管道,该管道为他们所有的工程团队提供了一个数据库。当时,他们这个集群的吞吐量为每秒 140 万个指标。不幸的是,由于将管道作为 Hulu 所有开发团队之间的共享服务提供,他们遇到了许多问题。他们还面临着因所需巨大吞吐量而导致的可扩展性问题,并且需要支持前所未闻的 100% 正常运行时间服务级别协议 (SLA),而不是典型的 99.999%,这考虑到了他们面向消费者的直播服务的性质。

Hulu 最初决定基于 InfluxDB 重新架构他们的管道,以规避他们在数据库方面遇到的问题,并减少手动干预的需求。他们创建了两个相同的集群,分别位于他们的每个主要数据中心。一个指标中继集群建立在此之上,其唯一目的是将接收到的所有指标推送到这两个集群,这使得可以从任何数据中心检索指标。这完全消除了他们之前遇到的指标可用性问题。

Hulu 集成了 Telegraf,然后是 Kafka,以便在一个 InfluxDB 集群发生故障时,“写入器”将被重定向到另一个数据中心,该数据中心继续摄取他们的指标,直到另一个数据中心恢复运行并且它们都恢复正常。这种设计使 Hulu 能够完全禁用基础设施的很大一部分,并将这些部分路由到另一个数据中心,而绝对不会对最终用户产生影响。

通过每分钟收集超过 6000 万个指标,Hulu 更好地洞察了他们的基础设施,这帮助他们实现了 100% 的正常运行时间 SLA,并更好地评估趋势。他们正在使用 Kafka 和 InfluxDB,这个专门构建的时间序列平台,来充分扩展他们的高性能架构和数据管道,而不会妨碍增长。立即使用 InfluxDB 免费开始监控您自己的架构。

其他资源