写点什么

架构师训练营第六周命题作业

发布于: 2020 年 11 月 01 日

作业一

请简述 CAP 原理

CAP 原理,分别是指:Consistency(一致性)、Availability(可用性) 和 Partition tolerance(分区耐受性)。


接下来分别解释:

  • 一致性:每次读取的数据都应该是最近写入的数据或者返回一个错误,而不是过期数据,也就是说,数据是一致的。

  • 可用性:每次请求都应该得到一个响应,而不是返回一个错误或者失去响应,不过这个响应不需要保证数据是最近写入的,也就是说系统需要一直都是可以正常使用的,不会引起调用者的异常,但是并不保证响应的数据是最新的。

  • 分区耐受性:即使因为网络原因,部分服务器节点之间消息丢失或者延迟了,系统依然应该是可以操作的。


在分布式系统中,服务器需要通过网络通信,网络的抖动等因素,一定会造成不同的 Partition 之间消息丢失或延迟。这一点是不可避免的,所以 CAP 中的「分区耐受性」是一定要保证的,也就是说允许 Partition 的消息不是最新的。


基于这个前提,再考虑分别考虑「一致性」和「可用性」。


「一致性」的要求是,要么返回最新的数据,要么报错,二选一。而「可用性」的要求是,必须返回一个数据,不能报错,不过允许不是最新的数据。要同时满足「一致性」和「可用性」的要求,就必须返回最新的数据,不能报错。而这和「分区耐受性」允许消息不是最新的承诺是冲突的。


所以说,CAP 的三点,是不能同时满足的。


作业二

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


理解:

  • 对从备份服务器同步数据至故障机器的过程:在故障机器恢复后,该近期应该会向管理中心上报自己的状态,管理中心通过一定的检查机制确认该机器已恢复后,再向备份服务器下发同步数据的指令的。然后备份服务器才发起同步。

发布于: 2020 年 11 月 01 日阅读数: 33
用户头像

还未添加个人签名 2018.07.26 加入

还未添加个人简介

评论

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