架构师训练营第六周 - 作业

用户头像
草原上的奔跑
关注
发布于: 2020 年 07 月 15 日
架构师训练营第六周-作业

作业1:针对Doris案例,请用UML时序图描述Doris临时失效的处理过程(包括判断系统进入临时失效状态,临时失效中的读写过程,失效恢复过程)



时序图如下所示:



一、判定进入临时失效流程
  1. 应用服务器写入存储服务器失败,重试也失败,请求管理中心仲裁

  2. 管理中心仲裁存储服务器为临时失效状态,通知所有应用服务器

  3. 本次写入失败,同时写的另一个服务器补偿之前写入操作

二、失效过程中的读写过程
  1. 应用服务器读取时,计算路由,选择正常状态存储服务器读取数据

  2. 应用服务器写入时,计算路由,选择正常状态存储服务器写入,并写入到临时服务器中



三、失效恢复过程
  1. 手工恢复问题存储服务器后,告知管理中心,状态更改为失效恢复状态

  2. 管理中心通知应用服务器和临时服务器存储服务器状态变更

  3. 临时服务器同步失效期间写入的数据到失效恢复存储服务器

  4. 应用服务器可写入数据到失效恢复存储服务器

  5. 应用服务器不可读取数据从失效恢复存储服务器

  6. 失效恢复存储服务器双写数据遇到冲突后,按时间戳,取最新写入数据

  7. 临时服务器同步完数据后,清空本地数据,告知管理中心,同步完毕

  8. 管理中心通知应用服务器,临时失效存储服务器完全恢复

  9. 临时失效存储服务器完全恢复,可提供读写服务



作业2:请简述 CAP 原理。



CAP原理是分布式系统的基本原理。

现在市面上的系统基本都是分布式系统,理解CAP原理是理解分布式系统的起点。

  • C:Cosnistency,一致性。

  • A:Avaliablity,可用性。

  • P:Partition Tolerance,分区容错性。

CAP原理是加州大学的Eric Brewer提出的,且Eric大师说这三个属性不可能同时满足。

分布式系统,因为是多台服务器通信,分区是一定会发生,所以,P是一定要满足。

那么可供分布式系统选择的就只有CP和AP了。

以上说选CP和AP,不是说选CP,则A不要了,A也是有的,但是可用率就不是很高了,比如,一天里有8个小时不可用。

所以CP是强一致,可用性不高。

AP是可用性很高,近乎9个9这种,但是其一致性会有延迟,如两个地点的用户,观看到的信息不一致,A看到1,B看到2,但是一段时间后,A、B看到的最终会一致。

  • AP这种场景可用于对时效性要求不高,允许一定的延迟

  • CP是要求强对一致,如现金转账。

当前业界用的多的是最终一致性,既保证了一致性,又保证了可用性。

对于特殊场景多偏向C或者多偏向A,根据需要,架构时做权衡取舍。

发布于: 2020 年 07 月 15 日 阅读数: 55
用户头像

草原上的奔跑

关注

喜欢简洁干净的代码 2018.05.04 加入

使用技术,实现业务。思考业务,创新技术。

评论

发布
暂无评论
架构师训练营第六周-作业