基础设施、云与 DevOps · 进阶
高可用与灾难恢复
一句话: 先决定一小时的宕机对你值多少钱,然后再决定买多少冗余。
先定目标,再谈方案
99.9%和99.99%可用性之间的差距,在成本和复杂度上是数倍之差。大多数业务系统不需要更高的那个,而真正需要的人能用钱把它论证清楚。
韧性的层次
跨可用区的多个实例;带从库和自动故障转移的数据库;不依赖本地状态;以及能把故障实例从流量中摘掉的健康检查。
再往下一步——第二个地理区域——成本和复杂度都很可观,还包括延迟和数据一致性的问题。
灾难场景
不只是一台服务器挂掉:误删除、数据损坏,以及云账号被锁。每一种都需要不同的应对,而这三种都应当有一份过去一年里有人读过的书面预案。
深入一层
做受控的故障演练:干掉一个实例、切断一个依赖、把磁盘写满——在受控环境里、在一个已知的时间点。一个从未在故障下被测试过的系统不是有韧性,它只是没被测试过。