一、网站可用性的度量与考核
1、可用性度量:通常用多少个9来形容网站的可用性
2、可用性考核:可用性指标是网站架构设计的重要指标,对外是服务承诺,对内是考核指标。
二、高可用的网站架构
三、高可用的应用
1、通过负载均衡进行无状态服务的失效转移
2、应用服务器集群的Session管理。集群管理下,Session管理主要有以下几种手段
(1)Session复制:适用于集群规模比较小的情况
(2)Session绑定
(3)利用cookie记录session:把session保存在cookie中
(4)Session服务器
四、高可用的服务
1、分级管理
2、超时设置
3、异步调用:应用对服务的调用通过消息队列等异步方式完成,避免一个服务失败导致整个应用请求失败的情况。
4、服务降级:拒绝服务和关闭服务
5、幂等性设计:必须在服务层保证服务重复调用和调用一次产生的结果相同,及服务具有幂等性。
五、高可用的数据
保证数据高可用的手段就是数据备份和失效转移机制
1、CAP原理:
(1)高可用的数据有如下几层含义:数据持久性,数据可访问性,数据一致性
(2)数据一致性分为如下几点:数据强一致性,数据用户一致,数据最终一致
2、数据备份
(1)冷备
(2)热备:异步热备方式和同步热备方式
1)异步热备:
2)同步热备
3、失效转移:由三部分组成:失效确认,访问转移,数据恢复
失效确认两种方式:心跳检测和应用程序访问失败报告
六、软件质量保证
1、网站发布
2、自动化测试:selenium可以同时完成web功能的测试和浏览器的兼容
3、预发布验证:
4、代码控制
(1)主干开发,分支发布
(2)分支开发,主干发布
5、自动化发布
6、灰度发布
七、网站运行监控
1、监控数据采集
(1)用户行为日志收集:服务端日志收集和客户端浏览器日志收集
(目前许多网站逐步开发基于实时计算框架Storm的日志统计与分析工具)
(2)服务器性能监控:目前网站使用比较广泛的开源性能监控工具是Ganglia
(3)运行数据报告:
2、监控管理
(1)系统报警
(2)失效转移