1.CAP理论
CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得,最多只能实现两种。
分布式系统的CAP理论:理论首先把分布式系统中的三个特性进行了如下归纳:
- 一致性(C):在分布式系统中的所有数据备份,在同一时刻都是同样的值。(即同一时间访问所有节点的同一数据,其值是相同的)。
- 可用性(A):系统服务总是可用的,对用户的每一个操作总是能在有限的时间内返回结果。
- 有限的时间:指的是在一个系统设计之初就设定好的系统运行指标,超过这个时间即表示服务不可用。
- 返回结果:要求系统在完成用户请求的处理后,返回一个正常响应的结果,即操作成功或失败,而不能返回一个让用户感到困惑的结果。
- 分区容错性(P):**分布式系统在遇到任何网络分区故障的时候,仍能对外提供满足一致性和可用性的服务,除非是整个网络环境都发生了故障。**即在分布式集群中一部分节点故障后,集群整体还能继续响应客户端的读写请求。
CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。而由于当前的网络硬件肯定会出现延迟和丢包等问题,所以分区容错性是我们必须需要实现的,所以剩下的只能从C与A里选。
2.CAP理解
如果选择一致性,则需要将数据同步更新到所有节点上,每次写操作就都要等待全部节点写成功,会导致可用性的降低。 如果选择可用性,就需要将数据复制到很多个节点,需要复制的数据很多,复制的过程缓慢,会导致一致性的降低。
BASE理论:
- 基本可用(Basically Available)
- 软状态(Soft state)
- 最终一致(Eventually consistent)
BASE理论的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。