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 写的。