【极客大学】【架构师训练营】【第六周】作业,CAP 与 Doris
题一、
请简述CAP原理
答:CAP原理对分布式系统的特性做了高度抽象
consistency:一致性,强调的是数据的准确性,系统对客户端做了一个承诺:任何客户端从系统中读取数据,要么读取到最新写入的,要么读取失败(A客户端往a节点写入数据aa,而后B客户端从b节点读取数据,读取出来的也必须是aa,否则应该读取失败)
avaliable:可用性,指服务的可用,任意客户端从非故障节点都能读取到数据(但并不保证读取到的数据是准确的),强调的是节点的故障不应该引起系统的故障
partition tolerance:分区容错性,强调的是集群对分区故障的容错能力,不管节点间出现什么样的通信异常,系统均能一致工作,客户端也能够一直获得数据
CAP不可能三角:C、A、P三个指标不可兼得,最多只能兼得两个指标
题二、
针对 Doris 案例,请用 UML 时序图描述 Doris 临时失效的处理过程(包括判断系统进入临时失效状态,临时失效中的读写过程,失效恢复过程)
答:如下图所示,整个过程中node2都是正常读写,
疑惑:故障恢复阶段,client是写数据还是写操作记录,如何保证在和记录恢复同时进行的情况下,数据不保持正确?比方说,临时node有条记录为 a+=1,client有操作 a*=2,如果client的命令先在node1中执行的话,a的值就不对了
版权声明: 本文为 InfoQ 作者【NieXY】的原创文章。
原文链接:【http://xie.infoq.cn/article/a3b1646564f51eea4287e0da5】。
本文遵守【CC BY-NC】协议,转载请保留原文出处及本版权声明。
评论