一、什么是CAP理论
CAP理论是分布式架构中的基础理论,描述的是分布式系统的三个特性。
一致性(Consistency)
可用性(Availability)
分区容错性(Partition tolerance)
一致性:
即所有节点同时看到相同的数据 (all nodes see the same data at the same time),一致性一般是并发读写才会出现的问题,需结合并发读写场景进行思考
可用性:
即读取和写入总是成功 (reads and writes always succeed)
分区容错性
在出现网络故障导致分布式节点间不能通信时,系统能否继续服务(the system continues to operate despite arbitrary message loss or failure of part of the system)
二、CAP该怎么理解
CAP理论认为,在分布式系统中,最多只能满足其中两项,无法同时全部满足,即会出现 CP AP CA 的现象
CA without P:
如果撇弃掉P,即不考虑分区容错,只保证一致性和可用性,但是放弃了分区容错,但系统不再是分布式的,同时代表着违背了涉及的初衷。
CP without A:
考虑了一致性和分区容错性,代表着没有办法去保证可用性,即如果client 向 node1 写数据,考虑强一致性在node1向node2写数据的时候,读取node2会造成等待。
AP without C:
同上例子,保证在分区容错的前提下系统可访问,不会造成等待的情况,即client 在向node1写完数据,node1对node2写数据的时候,使得node2可读,这个时候node2的数据和node1数据不同,即没办法满足一致性。
版权声明:本文为qq_38710236原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。