CAP高可用性

what:

  数据高可用性,主要包括:数据的持久性数据的可访问性数据的一致性

    数据的持久性:数据可以持久存储,存储后数据不会出现丢失。即数据写入持久存储设备,存储设备还需要有多副本,并且在不同的地域存储;

    数据的可访问性:多副本数据,如果一个数据故障,那么能够快速的切换到其他的数据源上,从而保证数据的可用性。反之,如果切换慢,或者不能切换,那么用户就会出现数据不可用的状态,则为数据不可用;

    数据的一致性:在网络、设备或者服务故障的情况下,就会出现多副本的数据,部分写入成功,从而导致数据的不一致。具体的数据一致,包括:

      强一致性:多副本的数据总是一致,即多副本的数据要么都写入成功,要么都失败;

      用户一致性:多副本的数据,在设备上存储的并非完全一致,但是用户看到的数据,经过纠错和检验处理后,数据是一致的;

      最终一致性:最弱的一种一致性,设备上数据、用户看到的数据都可以不同,但是经过一段时间后,数据能够达到最后的一致;

 

  CAP是数据一致性(Consistency)、数据可用性(Availbility)、分区耐受性(Patition Tolerance,系统具有跨网络分区伸缩性)的简称。 

  注意:CAP需要注意平衡,这个三个几乎不可能完全满足的。

 

 

 

where:

  在大型网站,数据规模总是急剧扩张的,因此可伸缩性即分区耐受性必不可少。规模变大以后,机器数量也会变得庞大,那么出现故障的几率就会变大。通常会选择:强化分布式存储系统的可用性(A)和伸缩性(P),而在某种程度上放弃一致性(C)。因此在业务中需要多一致性就行业务补偿或者纠错。

  例如:”双十一“期间,较弱的数据一致性就会出现部分商品超卖现象(交易成功的商品数量>库存数量)

 

posted @ 2022-04-12 16:59  修心而结网  阅读(196)  评论(0编辑  收藏  举报