CAP 原理 <笔记>

用户头像
raox
关注
发布于: 2020 年 12 月 29 日
CAP 原理 <笔记>

基本概念

百度百科:

CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾





一致性Consistency:每次读取的数据都应该是最近写入的数据或者返回一个错误(Every read receives the most recent write or an error),而不是过期数据,也就是说,在分布式系统中的所有数据备份,在同一时刻是否同样的数据是一致 的。



可用性Availability :每次请求都应该得到一个响应,而不是返回一个错误或者失去响应,不过 这个响应不需要保证数据是最近写入的(Every request receives a (non-error) response, without the guarantee that it contains the most recent write),也就是说系 统需要一直都是可以正常使用的,不会引起调用者的异常,但是并不保证响应的数据是 最新的。



分区耐受性Partition tolerance :即使因为网络原因,部分服务器节点之间消息丢失或者延迟了,系统依 然应该是可以操作的(The system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes)



最终一致写冲突:

简单冲突处理策略:根据时间戳,最后写入覆盖



与BASE的关系

BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的简写。

  • BASE 基本可用(Basically Available)系统在出现不可预知故障时,允许损失部分可用性,如 响应时间上的损失或功能上的损失。

  • Soft state(弱状态)软状态,指允许系统中的数据存在中间状态,并认为该中间状态的 存在不会影响系统的整体可用性,即允许系统在不同节点的数据副本之间进行数据同步 的过程存在延时。

  • Eventually consistent(最终一致性)指系统中所有的数据副本,在经过一段时间的同步 后,最终能够达到一个一致的状态,因此最终一致性的本质是需要系统保证数据能够达 到一致,而不需要实时保证系统数据的强一致性。



用户头像

raox

关注

还未添加个人签名 2019.02.11 加入

还未添加个人简介

评论

发布
暂无评论
CAP 原理 <笔记>