Netflix 将故障恢复从 45min 降至 7min
本文介绍了 Netflix 的新老两套 failover 系统。故事还是从 2012 年的那场殃及全美的 AWS LB 故障说起,他们痛定思痛,决定做 Failover。思路当然还是异地容灾。他们扩展到 US 两个,EU 一个 AWS regions。
- 45 分钟的玩法
- 使用 Business Metric 检测系统有没有坏掉,同时比对一天,一周前数据有没有异常。
- 在另外一个数据中心迅速搞起来 instance,然后使用线性回归预测对应流量需要用到的资源,起相对应的 microservices。
- 使用 Zuul (一个 gateway)切换流量
- 修改 DNS 记录,切换服务到另一个数据中心(假使客户端没刷新 dns,那还用 Zuul 走流量)。
- 7 分钟的玩法
- 每个数据中心都设立
trough
, 用来做 hot standby。这些暂时不会被用到的资源运行在一个 shadow cluster 中,遮掉监控避免混淆当前数据中心的监控,也不注册进入服务发现,除非开启了 failover。 - 当事故发生的时候,直接开闸,然后让 Zuul 引流量进来。
- 这套系统 3 个工程师用 Python 写的。
- 每个数据中心都设立