异地多活架构设计
高可用三大核心原理
CAP
分布式数据存储系统不可能同时满足一致性、可用性和分区容忍性。
- 一致性 Consistency
- 可用性 Availability
- 分区容忍性 Partion Tolerance
BASE
核心思想是即使无法做到强一致性(CAP 的一致性就是强一致性),但应用可以采用适合的方式达到最终一致性。
- 基本可用 Basically Available
- 软状态 Soft State
- 最终一致性 Eventually Consistency
FLP
异步通信场景中,即使只允许一个节点失败,也没有任何确定性算法能够保证非失败进程达到一致性。
- Safety
- Fault Tolerance
- Liveness
FEMA
具体含义
- Failure:假设系统某些组件或者模块出现故障。
- Mode: 故障发生的方式、可能性。
- Effect :故障的影响。
- Analysis:分析系统的可能反应,以及如何改进。
评估维度
大纲
业务及灾备架构
常用架构
- 同城双中心。
- 跨域紧邻双中心。
- 跨域远端双中心。
- 跨国数据中心。
异地多活架构模式
业务定制型
按照业务的优先级进行排序,优先保证核心业务异地多活 ;基于核心业务的流程和数据,设计定制化的异地多活架构。
业务通用型
通过配套服务来支持异地多活,无需按照业务优先级排序来挑选某些业务实现异地多活,只需要判断业务是否能异地多活。
存储通用型
采用本身已经支持分布式一致性的存储系统,架构天然支持异地多活。
异地多活
1个原理
- 异地多活本质上都是AP方案
3大原则
- 只保证核心业务。
- 只能做到最终一致性。
- 只能保证绝大部分用户。
4个步骤
- 业务分组。
- 数据分类。
- 数据同步。
- 异常梳理。
5大技巧
- 消息队列同步。
- 库存拆分。
- 事务合并
- 实时改异步。
- 适当容忍。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 彩虹马的博客!
评论