CAP 原理

发布于: 2020 年 07 月 18 日
CAP原理

一致性

一致性是说,每次读取的数据都应该是最近吸入的数据或者返回一个错误。every read receives the most recent write or an error ,而不是过期的数据。也就是说数据是一致的。

可用性

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

分区耐受性

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

CAP原理

当网络分区失效发生的时候,我们要么取消操作,这样数据就是一致的。单系统确不可用;要么我们继续写入数据,但是数据的一致性得不到保证。对于一个分布式系统而言网络失效一定会发生,也就是说分区耐受性必须要保证的,那么在可用性和一致性上必须二选一。当网络分区失效,也就是网络不可用的时候,如果选择了一致性,系统就可能返回一个错误码或者超时,即系统不可用。如果选择了可用性。那么系统总要返回一个数据。但是并不保证数据是最新的。所以,关于CAP的原来更准确的说法是,在分布式系统中必须要满足分区耐受性的前提下,可用性和一致性无法同时满足。

最终一致性

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

客户端冲突解决

投票解决冲突(Cassandra)

用户头像

王鹏飞

关注

还未添加个人签名 2019.06.11 加入

还未添加个人简介

评论

发布
暂无评论
CAP原理