后端基础

极客时间《架构师训练营》第六周课后作业

2020-07-14  本文已影响0人  anOnion

请简述 CAP 原理

在一个分布式计算系统中,只能同时满足下列的两点:

CAP

网络并不可靠,所以你必须支持分区容错性,并需要在软件可用性和一致性间做出取舍,所以实际的系统只有 CP 或是 AP 这两种:

CA 或是 AP 的抉择是软件设计中必须面对的 trade-off。如果业务需要原子读写,CP 是一个不错的选择;如果业务需求允许最终一致性或当有外部故障时要求系统继续运行,AP 就是一个不错的选择了。具体问题需要具体分析。

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

判断系统进入临时失效状态

应用服务器在访问存储服务时可能会出现访问失效,这时候需要确认存储服务的失效状态;临时失效下的判定步骤如下所示:

  1. 存储服务访问失效,应用服务则会在间隔一段时间后再次发起访问
  2. 存储服务器经过 N 次重试,依旧失败,则立即向管理中心发起仲裁
  3. 管理中心向存储服务发送心跳检测
  4. 心跳失效,管理中心反馈仲裁,判定存储服务进入临时失效状态
失效判定

临时失效期间的读写

临时失效期间的读写就和故障节点无关了,只是在写数据时会将数据库操作日志写入临时服务器中。

失效读写

临时失效恢复过程

失效恢复期间,读、写、数据恢复会同步发生,但与正常态有所不同:

失效恢复

当临时节点的数据全部迁移成功后,失效态结束,所有存储服务按正常态运行;临时节点的数据之后会被删除。

上一篇下一篇

猜你喜欢

热点阅读