写点什么

Week6 作业

用户头像
TiK
关注
发布于: 2020 年 07 月 14 日

一、请简述 CAP 原理

CAP理论

分布式系统的CAP理论首先把分布式系统中的三个特性进行了如下归纳:

  • 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否所有节点访问同一份最新的数据

  • 可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。

  • 分区容忍性(P):在网络故障发生的情况下,系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。

在一个分布式系统中,最多只能满足其中两个属性。



CAP权衡

CAP理论中根据倾向的不同:

  • CA – 放弃P:将所有数据都放在一个分布式节点上。这同时放弃了系统的可扩展性。单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大(ACID)

  • AP – 放弃C:这里的放弃一致性是指放弃数据强一致性,而保留数据的最终一致性。系统无法实时保持数据的一致,但承诺在一个限定的时间窗口内,数据最终能够达到一致的状态。满足可用性,分区容忍性的系统,通常可能对一致性要求低一些(BASE)

  • CP – 放弃A:一旦系统遇到故障时,受影响的服务器需要等待一段时间,在恢复期间无法对外提供正常的服务。满足一致性,分区容忍的系统,通常性能不是特别高。



对于多数大型互联网应用的场景,主机众多、部署分散,而且现在的集群规模越来越大,所以节点故障、网络故障是常态,而且要保证服务可用性即保证P和A,舍弃C(退而求其次保证最终一致性)。虽然某些地方会影响客户体验,但没达到造成用户流程的严重程度。

对于涉及到钱财这样不能有一丝让步的场景,C必须保证。网络发生故障宁可停止服务,这是保证CA,舍弃P。貌似这几年国内银行业发生了不下10起事故,但影响面不大,报到也不多,广大群众知道的少。还有一种是保证CP,舍弃A。例如网络故障事只读不写。



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









用户头像

TiK

关注

还未添加个人签名 2018.04.26 加入

还未添加个人简介

评论

发布
暂无评论
Week6 作业