前言
网上的概念真的是乱,本文的概念来自《大型网站技术架构》。我只是简单地分析记录,详细的自己看书吧!
CAP理论
CAP理论为:一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容忍性(Partition tolerance)这三项中的两项。
1. [高]一致性
数据一致性分为如下几种情况:
数据高一致
各个副本的数据在物理存储中,始终是一致的。
数据用户一致
各个副本的数据在物理存储中不一定一致,但当终端用户访问时,通过纠错和校验机制,可确定一个一致且正确的数据返回给用户。
数据最终一致
各个副本的数据在物理存储中不一定一致,但系统经过一段时间的自我恢复和纠正,最终会达到一致。
CAP理论中的一致性是指数据高一致性。
2. [高]可用性
高可用性数据的概念分为两个部分:
数据持久性
各种情况下不会出现数据丢失的情况,需要将数据备份多个副本。
数据可访问性
任何时间,任何应用程序都能够进行读写访问。当访问数据的某一个副本时,副本所在服务器崩溃了,此时需要访问数据的另一个副本,若此过程不能很快完成,则称这段时间内数据是不可访问的。
高可用性所需要达到的标准:4个9(99.99%)。
3. 分区容忍性
系统可以跨网络分区线性伸缩。在实际应用中指的是集群架构和数据具有可伸缩性。可伸缩性是指的是当一套系统性能达到瓶颈时,运维人员可以在不停机的情况下,通过增加服务器数量,来提高系统性能。