1. 系统可用性 = (1 - 系统不可用时间/年度总时间)* 100 %
2. 系统基本分层架构模型: 应用层、服务层、数据层
应用层:负责具体模块业务逻辑处理
服务层:提供可复用的服务
数据层:负责数据存储和读写
为了系统可以支持高并发、高吞吐,会引入应用集群。为了便于外部流量访问系统服务,会在应用层之上添加和负载均衡器。负载均衡器负责应用服务器均衡选取、故障应用服务发现和剔除。
应用层 和下游服务层访问类似,应用层通过通信框架(比如百度内部的UB + BNS 和 Rpc框架),实现负责均衡器,做到对下游访问的负载均衡和下游不可用服务发现和剔除。
3. 高可用的应用层
应用层主要处理系统业务逻辑,有时也叫业务逻辑层。一般特点是无状态。
无状态应用:应用运行不保存业务上下文信息,应用前一次请求和后一次请求是完全独立的请求,即使是同一个Query。分布式集群所有应用实例对等。
a)故障实例自动发现和剔除;
b)Session管理:通过浏览器Cookie记录Session、传给应用;创建独立Session服务集群,读写Session都要访问Session集群。
4. 高可用的服务层
a)服务分级管理:核心服务使用更好的硬件和资源;
b)应用设置读写超时:读写超时设置,一旦访问下游超时,通信框架抛出异常。有效避免长时间不能响应用户请求、同时还占用应用资源;
c)异步调用ÿ