高可用三大核心原理

CAP

分布式数据存储系统不可能同时满足一致性、可用性和分区容忍性。

  • 一致性 Consistency
  • 可用性 Availability
  • 分区容忍性 Partion Tolerance

BASE

核心思想是即使无法做到强一致性(CAP 的一致性就是强一致性),但应用可以采用适合的方式达到最终一致性。

  • 基本可用 Basically Available
  • 软状态 Soft State
  • 最终一致性 Eventually Consistency

FLP

异步通信场景中,即使只允许一个节点失败,也没有任何确定性算法能够保证非失败进程达到一致性。

  • Safety
  • Fault Tolerance
  • Liveness

FEMA

具体含义

  1. Failure:假设系统某些组件或者模块出现故障。
  2. Mode: 故障发生的方式、可能性。
  3. Effect :故障的影响。
  4. Analysis:分析系统的可能反应,以及如何改进。

评估维度

大纲

业务及灾备架构

常用架构

  1. 同城双中心。
  2. 跨域紧邻双中心。
  3. 跨域远端双中心。
  4. 跨国数据中心。

异地多活架构模式

业务定制型

按照业务的优先级进行排序,优先保证核心业务异地多活 ;基于核心业务的流程和数据,设计定制化的异地多活架构。

业务通用型

通过配套服务来支持异地多活,无需按照业务优先级排序来挑选某些业务实现异地多活,只需要判断业务是否能异地多活。

存储通用型

采用本身已经支持分布式一致性的存储系统,架构天然支持异地多活。

异地多活

1个原理

  • 异地多活本质上都是AP方案

3大原则

  • 只保证核心业务。
  • 只能做到最终一致性。
  • 只能保证绝大部分用户。

4个步骤

  1. 业务分组。
  2. 数据分类。
  3. 数据同步。
  4. 异常梳理。

5大技巧

  1. 消息队列同步。
  2. 库存拆分。
  3. 事务合并
  4. 实时改异步。
  5. 适当容忍。