高可用性---万无一失
实现高可用架构的主要手段是数据和服务的冗余备份及失效转移。
高可用的应用:
应用层主要处理站点应用的业务逻辑,因此也称业务逻辑层,应用的一个显著特点是应用的无状态。
所谓无状态的应用是指应用server不保存业务的上下文信息,而仅依据每次请求提交的数据进行对应的业务逻辑处理,多个服务实例(server)之间全然对等,请求提交到随意server,处理结果都是一样的。
高可用的服务:
l 分级管理
l 超时设置
l 异步调用
l 服务降级:两种手段,拒绝服务(拒绝非关键业务服务,或降低拒绝部分非关键服务,以保证核心服务)和关闭服务。
l 幂等性设计:有些服务必须在服务保证服务反复调用和调用一次产生的结果同样。
高可用的数据:
l CAP, 大型站点中。一般会选择强化分布式存储系统的可用性(A)和伸缩性(P)。而在某种程度上放弃一致性(C). 对不一致性数据进行某种意义的补偿和纠错。
数据一致性分为:数据强一致。数据用户一致;数据终于一致。
l 数据备份
l 失效转移