写点什么

架构师训练营第 1 期第六周作业

用户头像
Leo乐
关注
发布于: 2020 年 11 月 01 日

简述 CAP 原理



CAP原理认为,一个提供数据服务的存储系统无法同时完美的满足一致性(Consistency)、可用性(Availability)、分区耐受性(Partition Tolerance)这三个条件。



一致性

在数据有多份副本的情况下,如果网络、服务器、软件出现了故障,会导致部分副本写入失败。这就造成了多个副本之间的数据不一致。如果写入和读取是分别针对多个副本进行的操作,多个副本中间的数据同步延迟,也会造成一定时段内的数据不一致。数据一致性根据不通角度又有强一致性,弱一致性,最终一致性,时间点一致性,事务一致性,应用一致性等很多实现一致性的方式。满足一致性原则,就是要求,无论何时,从那台服务器获得的数据内容都必须是一致的。



分区耐受性

保证数据可持久存储,在各种情况下都不会出现数据丢失的问题。为了实现数据的持久性,不但需要在写入的时候保证数据能够持久存储,还需要能够将数据备份一个或多个副本,存放在不同的物理设备上,防止某个存储设备发生故障时,数据仍然可以被访问,仍然可以被操作。满足分区耐受性原则,就是要求,无论那个分区发生故障,都不能影响整个系统的功能。



可用性

多个副本分别存储于不同的物理设备的情况下,如果某个设备损坏,就需要从另一个数据存储设备上访问数据。如果这个过程不能很快完成,或者在完成的过程中需要停止终端用户访问数据,那么在切换存储设备的这段时间内,数据就是不可访问的。满足可用性原则,就是要求,服务任何时间都是可用的。



在分布式系统中,CAP的三个原则非常明显是相互矛盾的,不可能同时满足这三个原则。



用户头像

Leo乐

关注

还未添加个人签名 2018.10.17 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第 1 期第六周作业