## 简介
大型网站应该在任何时候都可以正常访问。正常提供对外服务。因为大型网站的复杂性，分布式，廉价服务器，开源数据库，操作系统等特点。要保证高可用是很困难的，也就是说网站的故障是不可避免的。

如何提高可用性，就是需要迫切解决的问题。首先，需要从架构级别，在规划的时候，就考虑可用性。行业内一般用几个9表示可用性指标。比如四个9（99.99），一年内允许的不可用时间是53分钟。

不同层级使用的策略不同，一般采用冗余备份和失效转移解决高可用问题。

应用层：一般设计为无状态的，对于每次请求，使用哪一台服务器处理是没有影响的。一般使用负载均衡技术（需要解决Session同步问题），实现高可用。

服务层：负载均衡，分级管理，快速失败（超时设置），异步调用，服务降级，幂等设计等。

数据层：冗余备份（冷，热备[同步，异步]，温备），失效转移（确认，转移，恢复）。数据高可用方面著名的理论基础是CAP理论（持久性，可用性，数据一致性[强一致，用户一致，最终一致]）

## 冗余

只有一个单点，挂了服务会受影响；如果有冗余备份，挂了还有其他backup能够顶上。



## 服务降级

