实现高可用架构的主要手段是数据和服务的冗余备份及失效转移,一旦某些服务器死机 服务器切换到其他可用的服务器上,如果磁盘损坏,则从备份的磁盘读取数据
一个典型的网站分为三层:应用层 服务层 数据层 之间具有相对独立性,应用层主要负责具体业务逻辑处理,服务层负责提供可复用的服务,数据层服务负责数据的存储与访问
一个典型的网站分为三层:应用层 服务层 数据层 之间具有相对独立性,应用层主要负责具体业务逻辑处理,服务层负责提供可复用的服务,数据层服务负责数据的存储与访问
位于服务层应用层的服务器通常是为了应对高并发的访问请求,数据库的服务可以通过数据冗余备份 防止死机数据不可修复
高可用的应用,应用层主要处理网站应用的业务逻辑,应用的一个显著特点是应用的无状态性
无状态的应用指应用服务器不保存业务上的上下文信息,而是根据每次请求提交的数据进行相应的业务逻辑处理,多个服务实例之间完全对等 请求提交到任意服务器结果处理都是一样的
通过负载均衡进行无状态服务的失效转移,
应用服务集群管理Session管理有以下几种手段
- Session复制 Session每台服务器上都保存所有用户的Session信息,任何一台服务器死机都不会导致飞行数据的丢失,在服务器使用时也只需要在本机获取,只能在小规模的集群使用,大量用户访问的情况下,会出现服务器内存不够使用的情况
- Session绑定,Session可以利用负载均衡的源地址Hash算法实现
- 利用cookie记录Session
- Session服务器可用性高,伸缩性好,性能也不错,对信息大小又没有权限的服务器群集,利用独立部署服务器统一管理,Session应用服务器统一管理 应用服务器每次读写Session时 都访问服务器
高可用的服务管理:
- 分级管理
- 超时设置
- 异步调用
- 服务降级
- 幂等性设计
高可用的数据主要手段:数据备份和失效转移机制,数据备份可分为两种,异步热备方式和同步热备方式
异步方式是指多份数据副本的写入操作异步完成,应用程序收到服务数据系统的写操作成功响应时,只写成功了一份 存储系统会将异步的写到其他副本
同步方式:多份数据副本的写入操作同步完成
失效转移,如果一台服务机服务器死机,那么应用程序针对这台服务器的所有读写操作都需要重新路由到其它服务器,保证数据不会丢失,这个过程叫做失效转移
失效转移由三部分组成:失效确认 访问转移 数据恢复
网站发布分为以下几种方式:
网站发布分为以下几种方式:
- 自动化测试
- 预发布验证
- 代码控制
- 主干开发分支发布
- 自动化发布
- 灰度发布
网站运行监控
- 不允许没有监控的系统上线
监控数据采集
- 用户行为日志收集
- 服务器端日志收集
- 客户端浏览器日志收集
服务器性能监控
- 运行数据报告
监控管理
- 系统报警
- 失效转移
- 自动优雅降级