CAP理论
1.CAP简介
C:一致性,A:可用性,P:分区容错性。
分区容错性是分布式系统的基础,因为网络分区是必然的,一定要保证在节点或者网络故障时,整个系统仍然能够正常运行。
在保证P的前提下,就要对C和A进行取舍。
当追求数据一致性时,就会导致系统响应出现延迟,因为需要等待节点间的数据完成同步。
当追求可用性时,系统能够迅速响应客户请求,但是此时节点间数据并未同步,可能导致数据不一致。
对于CP或AP的选择需要依据具体业务场景来决定。
对于大型互联网应用,或者12306等需要实现高可用的系统来说,需要最大限度的保证系统的可用性,对于一致性提供最终一致性解决方案,例如抢票是显示是有票的,下单却提示无票,因为下单瞬间各节点间车票未达到完全同步,但是过一段时间后要达到最终一致性。
对于金融、银行等涉及钱财的应用,需要最大限度的保证数据的一致性,宁可长时间宕机,也不可出现金额的不一致。