1,应用层的高可用
应用层主要处理网站应用的业务逻辑,显著特点是应用的无状态性。对于应用服务器集群,实现这种服务器可用状态实时监测、自动转移失败任务的机制是负载平衡。
负载平衡主要是用在业务量和数据量较高的情况下,当单台服务器不足以承担所有压力时通过负载均衡将流量分摊到一个集群组成的多台服务器上,以提高整体的负载处理能力。
Session管理:
1)Session复制:在几台服务器之间同步session对象,使得每台服务器上都保存所有用户的session信息。
2)Session绑定:负载均衡的源地址hash算法。负载均衡服务器总是将来源于同一IP的请求分发到同一台服务器上。又称作会话黏滞。
3)利用cookie记录session:将session记录在客户端
4)Session服务器:利用独立不熟的session服务器(集群)统一管理session。
2,服务层的高可用
1)分级管理:将服务器进行分级管理,核心应用和服务优先使用更好的硬件。
2)超时设置:在应用程序中设置服务超时时间。
3)异步调用:应用对服务的调用通过消息队列等异步方式完成,避免一个服务失败导致整个应用请求失败的情况。
4)服务降级:通过拒绝服务(拒绝低优先级应用的调用,减少服务调用并发数,或者随机拒绝部分请求调用)和关闭功能(关闭部分不重要的服务)
5)幂等性设计:在服务层保证服务重复调用和调用一次产生的结果相同。
3,数据层的高可用
保证数据存储高可用的主要手段是数据备份和失效转移机制。数据备份是保证数据有多个副本,任意副本都不会导致数据的永久丢失,从而实现数据的持久化;而失效转移机制则保证当一个数据副本不可访问时,可以快速切换访问数据的其他副本,保证系统可用。
CAP原理:一个提供数据服务的存储系统无法同时满足数据一致性、数据可用性、分区耐受性这三个条件。
数据备份:
1)冷备份:简单廉价/不能保证数据最终一致和数据可用性。
2)热备份:异步热备份/同步热备份。异步方式试制多份数据副本的写入操作异步完成,应用程序收到数据服务系统的写操作成功响应时只写成功了一份,存储系统会异步的写其他副本。同步方式是指多分数据副本的写入操作同步完成,即应用程序收到数据服务系统的写成功响应时,多分数据都已经写操作成功。
失效转移:
1)失效确认:心跳检测和应用程序访问失败报告
2)访问转移:对于完全对等存储的服务器,其中一台宕机后切换到对等服务器上;若是不对等的,就需要重新计算路由选择存储服务器
3)数据恢复:系统需要从间看的服务器复制数据将数据副本数目恢复到设定值
4,高可用的软件质量保证
1)网站发布
2)自动化检测
3)预发布验证
4)代码控制
主干开发、分支发布
分支开发、主干发布
5)自动化发布
6)灰度发布
5,网站运行监控
不允许没有监控的系统上线
1)监控数据采集
用户行为日志收集
服务器端日志收集
客户端浏览器日志收集(页面中嵌入JavaScript脚本)
服务器性能监控
运行数据报告
2)监控管理
系统报警
失效转移
自动优雅降级
应用层主要处理网站应用的业务逻辑,显著特点是应用的无状态性。对于应用服务器集群,实现这种服务器可用状态实时监测、自动转移失败任务的机制是负载平衡。
负载平衡主要是用在业务量和数据量较高的情况下,当单台服务器不足以承担所有压力时通过负载均衡将流量分摊到一个集群组成的多台服务器上,以提高整体的负载处理能力。
Session管理:
1)Session复制:在几台服务器之间同步session对象,使得每台服务器上都保存所有用户的session信息。
2)Session绑定:负载均衡的源地址hash算法。负载均衡服务器总是将来源于同一IP的请求分发到同一台服务器上。又称作会话黏滞。
3)利用cookie记录session:将session记录在客户端
4)Session服务器:利用独立不熟的session服务器(集群)统一管理session。
2,服务层的高可用
1)分级管理:将服务器进行分级管理,核心应用和服务优先使用更好的硬件。
2)超时设置:在应用程序中设置服务超时时间。
3)异步调用:应用对服务的调用通过消息队列等异步方式完成,避免一个服务失败导致整个应用请求失败的情况。
4)服务降级:通过拒绝服务(拒绝低优先级应用的调用,减少服务调用并发数,或者随机拒绝部分请求调用)和关闭功能(关闭部分不重要的服务)
5)幂等性设计:在服务层保证服务重复调用和调用一次产生的结果相同。
3,数据层的高可用
保证数据存储高可用的主要手段是数据备份和失效转移机制。数据备份是保证数据有多个副本,任意副本都不会导致数据的永久丢失,从而实现数据的持久化;而失效转移机制则保证当一个数据副本不可访问时,可以快速切换访问数据的其他副本,保证系统可用。
CAP原理:一个提供数据服务的存储系统无法同时满足数据一致性、数据可用性、分区耐受性这三个条件。
数据备份:
1)冷备份:简单廉价/不能保证数据最终一致和数据可用性。
2)热备份:异步热备份/同步热备份。异步方式试制多份数据副本的写入操作异步完成,应用程序收到数据服务系统的写操作成功响应时只写成功了一份,存储系统会异步的写其他副本。同步方式是指多分数据副本的写入操作同步完成,即应用程序收到数据服务系统的写成功响应时,多分数据都已经写操作成功。
失效转移:
1)失效确认:心跳检测和应用程序访问失败报告
2)访问转移:对于完全对等存储的服务器,其中一台宕机后切换到对等服务器上;若是不对等的,就需要重新计算路由选择存储服务器
3)数据恢复:系统需要从间看的服务器复制数据将数据副本数目恢复到设定值
4,高可用的软件质量保证
1)网站发布
2)自动化检测
3)预发布验证
4)代码控制
主干开发、分支发布
分支开发、主干发布
5)自动化发布
6)灰度发布
5,网站运行监控
不允许没有监控的系统上线
1)监控数据采集
用户行为日志收集
服务器端日志收集
客户端浏览器日志收集(页面中嵌入JavaScript脚本)
服务器性能监控
运行数据报告
2)监控管理
系统报警
失效转移
自动优雅降级