写点什么

CAP 原理简述 &Doris 临时失效处理过程

用户头像
Mars
关注
发布于: 2020 年 11 月 29 日

CAP原理

一致性(Consistency):每次读取的数据是最近一次写入的数据或返回一个错误,而不是过期数据,也就是数据一致性。

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

分区耐受性(Partition tolerance):即使网络原因,部分服务器节点之间消息丢失或延迟,系统依然可用操作。

对于分布式系统在必须满足分区耐受性的前提下,可用性和一致性无法同时满足



  • 有CA无P,满足强一致性和可用性,当有分区问题时,为保证C,系统禁止写入,返回error。但是又和A冲突。所以理论上分布式系统不能选择CA架构。

  • 有CP无A,满足一致性和分区容错性,需要每个请求在服务器之间保持强一致性,而分区容错会导致服务器间同步会延迟,一旦发生网络故障或消息丢失,就要牺牲用户体验等待所有数据同步完成后才能允许用户访问。例如:分布式数据库Redis,数据一致性是基本要求。

  • 有AP无C,满足可用性和分区容错性,当分区容错出现时,节点之间消息丢失或延迟。当请求访问节点2时,由于服务器间失去联系,导致节点2的数据还是旧数据,这时不在满足一致性要求。



UML 时序图描述 Doris 临时失效处理过程



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

Mars

关注

还未添加个人签名 2018.06.12 加入

还未添加个人简介

评论

发布
暂无评论
CAP原理简述&Doris 临时失效处理过程