撑千万级,大型电商分布式架构解析( 七 )

不同层级使用的策略不同 , 一般采用冗余备份和失效转移解决高可用问题 。

应用层:一般设计为无状态的 , 对于每次请求 , 使用哪一台服务器处理是没有影响的 。 一般使用负载均衡技术(需要解决 Session 同步问题) , 实现高可用 。

服务层:负载均衡 , 分级管理 , 快速失败(超时设置) , 异步调用 , 服务降级 , 幂等设计等 。

数据层:冗余备份(冷 , 热备[同步 , 异步
, 温备) , 失效转移(确认 , 转移 , 恢复) 。 数据高可用方面著名的理论基础是 CAP 理论(持久性 , 可用性 , 数据一致性[强一致 , 用户一致 , 最终一致

1.6. 可伸缩架构

伸缩性是指在不改变原有架构设计的基础上 , 通过添加/减少硬件(服务器)的方式 , 提高/降低系统的处理能力 。

应用层:对应用进行垂直或水平切分 。 然后针对单一功能进行负载均衡(DNSHTTP[反向代理
IP链路层) 。

服务层:与应用层类似;

推荐阅读