第六周技术选型作业 -CAP 原理概述
CAP原理是指在任意的分布式系统中,一致性(Consistency)、可用性(Availability)和分区容错性(Partion Tolerance)这三种属性最多只能同时存在两个。
一致性(Consistency)指的是对某个指定的客户端来说,读操作保证能够返回最新的写操作结果。即在分布式环境下,线性一致性保证读操作仍然像单机上一样返回最新的写操作结果。
可用性(Availability)指的是分布式系统中非故障的节点能够在合理的时间内返回合理的响应(不是错误和超时的响应),即任意非故障的服务器都必须对客户的请求产生正常响应 。
在一个分布式系统里,如果出现一些故障,可能会使得部分节点之间无法连通。由于这些故障节点无法联通,整个网络就会被分成几块区域。数据分散在这些无法连通的区域中的情况被叫做“分区”。
分区容忍性(Partition Tolerance)指的是即使出现分区这样的“错误”,系统也需要能“容忍”--系统也必须能够正常返回消息。即系统出现网络分区后,系统仍然能够继续“履行职责”。
在分布式环境下因为网络本身无法做到 100% 可靠,有可能出故障,所以分区是一个必然的现象,系统必须选择 P(分区容忍)要素。因此,分布式系统理论上不可能选择 CA 架构,只能选择 CP 或者 AP 架构。
评论