在任意的分布式系统中,一致性(Consistency),可用性(Availability)和分区容错性(Partition-tolerance)这三种属性最多只能同时存在两个属性。
C 属性:一致性
线性一致性(Linearizability Consistency):在线性一致性的保证下,所有分布式环境下的操作都像是在单机上完成的一样,
A 属性:可用性
在分布式系统中,任意非故障的服务器都必须对客户的请求产生响应
P 属性:分区容错性
系统允许网络丢失从一个节点发送到另一个节点的任意多条消息。
大部分情况下,系统设计都会保留 P 属性,而在 C 和 A 中二选一。
CP 系统:Google BigTable, Hbase, MongoDB, Redis, MemCacheDB,这些存储架构都是放弃了高可用性(High Availablity)而选择 CP 属性的。
AP 系统:Amazon Dynamo 系统以及它的衍生存储系统 Apache Cassandra 和 Voldemort
CA 系统:Apache Kafka 是一个比较典型的 CA系统。Kafka 系统引入了 Replication 的概念。Kafka Relocation 通过将数据复制到不同的节点上,从而增强了数据在系统中的持久性(Durability)和可用性(Availability)。在 Kafka Replication 的系统设计中,所有的数据日志存储是设计在同一个数据中心(Data Center)里面的,也就是说,在同一个数据中心里网络分区出现的可能性是十分之小的
CAP+Base初步了解
https://blog.csdn.net/dyt443733328/article/details/80111345