架构师训练营第六周作业

用户头像
Melo
关注
发布于: 2020 年 07 月 11 日

问题1

简述CAP原理。



CAP原理

C(Consistent) 一致性:请求数据要么返回最新写入的数据,要么请求失败。不会返回过期的数据。

A (Available) 可用性:请求总是能得到响应。而不是返回一个错误或者没有响应。并不保证返回的数据是最新的。

P (Partition Tolerance) 分区耐挫性: 即使网络延迟或者丢失了一些服务器节点之间的消息,系统依然是可以操作的。



CAP原理告诉我们CAP三点无法同时满足,最多只能取两点。对于分布式的系统,由于网络的不稳定性是随时都存在的。所以一个可以操作的系统一定要实现P,所以就要在C与A之间作出取舍。



BASE是工业界中更为常见的解决方法。

强调一下E:Eventually consistent 最终一致性

定义:虽然会出现实时的数据的不一致,但在一定的时间的同步后,各个数据副本会变成一致的。



How to achieve eventually consistent?

  • 加上时间戳,后写入的数据覆盖

  • 客户端解决冲突(购物车的例子,客户端得到多个购物车就进行合并)

  • 投票解决冲突 (例如Cassandra: 尝试写入三个节点,当能写入两个节点后返回成功/ 尝试从三个节点读取,当读到两个节点值之后,返回最新的数据)



问题2

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





用户头像

Melo

关注

还未添加个人签名 2019.09.17 加入

还未添加个人简介

评论

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