Hulu 是一家美国订阅服务,提供直播和点播电视和电影,以及带和不带广告的直播新闻和体育赛事。Hulu 于 2008 年推出,是唯一一家让观众立即访问每个主要美国广播网络的当前节目的服务。
在 Hulu,时间序列数据非常重要,因为它可以帮助他们评估趋势,以识别问题并进行反应。在与多个不符合他们需求的时间序列数据库合作后,Hulu 能够使用 InfluxDB 和 Kafka 创建一个稳定、快速且持久的数据管道。他们使用 InfluxDB 创建了一个系统来处理有问题的集群,禁用基础设施的大部分,并将这些路由到其他数据中心,而不会对最终用户造成任何影响,同时还创建了查询限制解决方案并阻止或过滤“不良”指标。
最初,Hulu 的每个开发团队都创建并使用了自己时间序列数据解决方案,最终由于不一致性而被证明是浪费的。由于所有团队都有类似的需求,他们决定构建一个基于 Graphite 的原始时间序列数据管道,为所有工程团队提供了一个数据库。当时,该集群的吞吐量为每秒 140 万个指标。不幸的是,他们面临着由于提供管道作为 Hulu 所有开发团队之间的共享服务而引发的一系列问题。他们还面临着由于所需的大吞吐量而导致的可扩展性问题,并且需要支持前所未有的 100% 服务的可用性协议(SLA),而典型的 SLA 为 99.999%,考虑到他们面向消费者的直播服务的性质。
Hulu 最初决定基于 InfluxDB 重新架构他们的管道,以规避他们数据库中遇到的问题,并减少对人工干预的需求。他们创建了两个位于每个主要数据中心内的相同集群。在此基础上构建了一个指标中继集群,其唯一目的是将所有接收到的指标推送到两个集群中,这使得可以从任何数据中心检索指标。这完全消除了他们之前遇到的所有指标可用性问题。
Hulu 集成了 Telegraf 和 Kafka,以便在 InfluxDB 集群之一发生故障时,将“写入者”重定向到另一个继续处理其指标的数据中心,直到另一个恢复正常运行并且两者都处于正轨。这种设计允许 Hulu 完全禁用基础设施的大部分,并将这些路由到另一个数据中心,而不会对最终用户造成任何影响。
通过每分钟收集超过 6000万条指标,Hulu对其基础设施有了更深入的洞察,这帮助他们实现了100%的可用性服务级别协议(SLA),并更好地评估趋势。他们使用Kafka和InfluxDB,一个专门构建的时间序列平台,以充分扩展其高性能架构和数据管道,而不会阻碍增长。使用InfluxDB开始监控您的架构,享受免费服务。