网站可用性的度量与考核
网站可用性度量 网站不可用也被称作网站故障,业界通常用多少个9来衡量网站的可用性,比如QQ的可用性是4个9,即QQ服务99.99%可用,这意味着QQ服务要保证其在所有的运行时间中,只有0.01%的时间不可用,也就是一年中大约最多53分钟不可用。
高可用的网站架构
高可用的服务
1.分级管理 运维上将服务器进行分级管理,核心应用和服务优先使用更好的硬件,在运维响应速度上也格外迅速。
2.超时设置 在应用程序中设置服务调用的超时时间,一旦超时,通信框架就抛出异常,应用程序根据服务调度策略,可选择继续重试或将请求转移到提供相同服务的其它服务器上。
3.异步调用
4.服务降级 拒绝服务一些不必要的或非核心的应用,减少服务调用并发数,确保核心应用正常使用。关闭功能。关闭不重要的服务或功能
5.幂等性设计
高可用的数据
1.数据的持久性
2.数据可访问性
3.数据一致性
数据备份
失效转移 若服务器集群中任何一台服务器宕机,那么应用程序对这台服务器的所有读写操作都需要重新路由到其他服务器,保证数据访问不会失败。这个过程叫做失效转移。包括三部分:失效确认、访问转移、数据恢复
高可用网站的软件的质量保证
网站发布
自动化测试 如Selenium
预发布验证 可以先发布到预发布机器 上,开发工程师和测试工程师在预发布服务器上进行预发布验证、执行一些典型的业务流程,确认系统没有问题才正式发布。
代码控制 GIT(这个可以单独开一篇来写)
主干开发,分支发布
分支开发,主干发布
灰度发布 用于测试
网站运行监控 监控日志采集,没有监控的系统不允许上线