- 容错系统就是为故障而构建的。如果发生故障,容错系统将不会中断,并且可以继续处理请求。
- EC2 虚拟服务器,默认情况下不是容错的。
- 单点故障(SPOF),如果一个硬件发生故障,整个服务中断。
- AWS 解决方案:自动扩展组(auto-scaling group)、ELB 和 SQS。
- 没有(单点故障)—— 在出现故障时,不能处理请求。
- 高可用性 —— 在出现故障时,需要一些时间直到像之前一样处理请求。
- 容错 —— 在出现故障时,请求会像之前一样得到处理,并且没有任何可用性问题。
使用冗余 EC2 实例提高可用性
在 EC2 虚拟服务器上集成自动扩展组、ELB、SQS 服务。
使代码容错的设计
- 让其崩溃,但也重试;
- 幂等重试;
向上或向下扩展:自动扩展和 Cloud Watch
- 扩展虚拟服务器的数量可以在 AWS 上通过自动扩展(auto-scaling)和扩展策略(scaling policy)来实现。