Netflix基于云的“防故障”系统怎样顶住了AWS故障

简介:

尽管在线流媒体巨头Netflix运作的业务完全依赖亚马逊网络服务(AWS)的云平台,不过它声称,AWS周日爆出服务停运事件后,自己的服务很快恢复了正常――这表明了其构建基于云的“防故障”系统这种做法的重要性。

AWS在周日遇到重大故障后,构建可以抵御故障的云服务具有的重要性体现了出来。

AWS平台上的20多种服务开始出现故障后,互联网上的一些最大网站和应用系统随之间歇性地无法使用。

这起停运事件影响了弗吉尼亚州北部数据中心(亚马逊称之为US-EAST-1地区)负责运行的AWS服务。

Netflix、Tinder、Airbnb和IMDb等知名在线网站及服务的客户声称,服务受到影响的六到八个小时这段期间,访问出现了问题。这些问题还影响了亚马逊的产品,比如Echo,亚马逊的这个智能语音助理使用了名叫Alexa的基于云的语音识别系统。

问题似乎最早出现在周日太平洋夏令时凌晨3点,当时用户就开始遇到了AWS的NoSQL数据库DynamoDB出错率增加的现象。

然而,出错率增加和网络延迟这些问题随后开始扩大到另外大约22个服务:包括亚马逊的几大知名服务,比如AWS弹性计算云(EC2)、虚拟桌面服务AWS WorkSpaces以及AWS事件驱动计算服务AWS Lambda。

在短短几小时内,AWS就查明了DynamoDB遇到的问题的“根源”,指出这归咎于“管理表和分区信息的内部子服务出了故障”。

等到上午9点刚过,AWS就解决了DynamoDB的问题,声称服务运行恢复正常。到这个时候,大多数服务已正常运行,不过另外几项服务(比如AWS Auto Scaling服务)仍受到了影响,直到上午11:30才排除故障。

Netflix如何以乱治乱?

据亚马逊发言人声称,有一个AWS客户设法避免了这次停运引起的任何“重大影响”,那就是视频流服务网站Netflix。

据这位发言人称,这个在线媒体巨头依赖亚马逊网络服务,以媒体流的形式将电影和电视节目传输给全球5000多万户家庭,能够“迅速”将服务恢复到完全正常的水平。

帮助这家服务商经受住这次服务故障事件考验的,正是它竭力颂扬的“混沌工程技术”(chaos engineering)。

Netflix采用的混沌工程技术运用了Simian Army,这款软件有意对其系统造成严重破坏。Simian Army从多个方面攻击Netflix的基础设施:Chaos Monkey随机地禁用生产环境下的实例,Latency Monkey给客户机/服务器通信造成延迟,而主要法宝Chaos Gorilla模拟了整个亚马逊可用性区域出现停运。

通过不断给系统带来故障,这家公司得以增强防范问题的能力,比如周日影响AWS的问题。

在这种情况下,Netflix得以迅速将流量从受到影响的AWS地区,重定向到未受到影响的地区的数据中心。

Netflix之所以能做到这一点,就是因为它实施了所谓的多地区主动/主动复制。按照这种复制技术,其服务需要的所有数据都在不同的AWS地区之间加以复制,以便遇到故障后能迅速恢复。

Netflix在概述这种做法的一篇博文中表示:“地区性基础设施全面停运的可能性微乎其微,但是我们的变化速度有时太快了,会扰乱某个地区的关键服务,我们想让Netflix能适应任何复杂的底层依赖关系。”

Netflix负责高性能技术计算的前首席架构师Adrian Cockcroft在推特上表示,主动/主动复制技术增加了大约“25%”的成本,声称这种方法如同“保险单”。

他补充说:“额外成本主要是由于始终在两头对存储层进行100%的重复数据删除所致。”

Netflix使用了Apache Cassandra,这是一种开源NoSQL分布式数据库。Cockcroft表示,为了保持可用性,这家服务商必须在“所有地区”维护“几千个”Cassandra节点。


本文作者:云头条

来源:51CTO

相关文章
|
6月前
|
存储 人工智能 缓存
[大厂实践] 无停机迁移大规模关键流量 (上)
[大厂实践] 无停机迁移大规模关键流量 (上)
67 0
|
7月前
|
Ubuntu 安全 应用服务中间件
使用流量转移完成金丝雀部署
使用流量转移完成金丝雀部署
|
5月前
|
SQL 安全 网络安全
服务器入侵如何防护,业务被攻击如何处理,服务器安全防护方案
服务器入侵如何防护,业务被攻击如何处理,服务器安全防护方案
|
6月前
|
存储 监控 安全
[大厂实践] 无停机迁移大规模关键流量 (下)
[大厂实践] 无停机迁移大规模关键流量 (下)
49 0
|
6月前
|
缓存 运维 负载均衡
运维往事 一次负载均衡坏点检测事故
之前做运维,有一些印象很深的事故,今天来讲其中一个,为了大家能理解,先说一些背景。现在因为流量巨大,单台机器肯定不足以为所有用户提供服务,所以大公司几乎任何一个服务的背后都是一套集群,然而任意一台机器不是100%可靠,如果你想让你服务尽可能接近100%可靠,你的集群就得具备检测和剔除坏点的能力。
42 0
|
9月前
|
安全 Cloud Native Nacos
Nacos安全漏洞修复方案:保护您的应用服务
尊敬的家人们,大家好!在过去的几年中,Nacos作为阿里巴巴推出的一项开源项目,为云原生应用的构建和管理提供了许多便利。然而,最近发现了一个安全漏洞,该漏洞可能导致未经授权的用户获取到敏感信息。为了确保您的应用程序的安全性,我们将在本文中向您介绍修复Nacos漏洞的方案
1020 0
Nacos安全漏洞修复方案:保护您的应用服务
|
网络协议
微软众多服务发生大规模宕机,原因可能与DNS有关
微软众多服务发生大规模宕机,原因可能与DNS有关
123 0
|
云安全 安全 网络安全
相比快照备份,云安全中心防勒索解决方案有哪些优势?
相比快照备份,云安全中心防勒索解决方案有哪些优势?
223 0
|
Kubernetes 负载均衡 Cloud Native
大促场景下,如何做好网关高可用防护
618 大促正在如火如荼进行中。《618大促来袭,浅谈如何做好大促备战》一文介绍了全方位保障大促高可用的方法论和技术手段,本文继续围绕网关,深入探讨大促场景下,如何做好网关高可用防护,将从以下几点逐一展开介绍:网关做高可用防护的重要性、MSE 云原生网关的“下一代网关架构”,在高可用防护上的巨大优势、使用 MSE 云原生网关的高可用防护实战(视频演示)
大促场景下,如何做好网关高可用防护
|
监控 关系型数据库 MySQL
Hfish 集群蜜罐搭建
一款社区型免费产品,HFish 承载了全新的架构理念和失陷方案,通过安全可靠的中低交互蜜罐增加了企业在失陷感知和威胁情报领域的能力。
656 0
Hfish 集群蜜罐搭建