分布式理论

CAP

CAP定理中的一些概念与通常理解并不一致, 围绕CAP有很多的困扰和误解

副本型分布式系统

CAP针对的只是系统级别,落地到应用级别, 需要对不同的数据确定是要满足CP还是AP

202031017918

分布式系统中,分区容忍性必不可少,因为需要总是假设网络是不可靠的,所以CAP理论实际上是要在可用性和一致性之间做权衡,但分区容忍性又不是一直存在的,大部分时间网络是正常的,在正常的这段时间,是满足CA的

批注 2020-06-23 090444

脑裂: 同时出现多台主节点

批注 2020-06-23 090512

只有在网络出现问题时,才会有AP 和 CP 二选一的情况

BASE

CAP 理论是忽略延时的,而实际应用中延时是无法避免的,所以BASE是 AP 方案的一个补充

批注 2020-06-23 090544

BASE与幂等性与可用性

通过无状态得到设计来实现幂等性,幂等性可保证请求可重试、数据的健壮性,从而能实现最终一致性

BASE能达到数据的最终一致性,以最新写入的数据为准还是以第一次写入的数据为准,

还需要通过错误修正来进行,其中这种错误可以在读时、写时,或者通过治理、监控进行异步巡检修正,从而达到正确的一致性

在设计分布式写入时,可以自定义写一致性级别,支持 All、Quorum、One、Any 4 种写一致性级别,满足不同的一致性要求

Lease机制