分布式理论基础:CAP、BASE、幂等性

随着互联网流量的提升,传统的垂直架构系统早已无法满足大流量公司的系统架构需求,分布式系统应运而生。今天我们就来看下分布式架构下的理论基础有哪些,这些也是Java面试中经常问到的一些热点问题。

 

一、CAP理论

CAP理论,是指的是在分布式系统中,一致性、可用性、分区容错性,三者不可得兼。是分布式系统中最根本的理论基础。

分布式理论基础:CAP、BASE、幂等性_第1张图片

 

  1. 1、C (Consistency),即一致性,是指分布式系统中各个服务节点需要保证数据的实时一致性;
  2. 2、A (Availability),即可用性,是指服务随时可用,即使某些节点发生故障也不影响集群的对外服务;
  3. 3、P (Partition),即分区容错性,是指网络分区故障时,仍然需要保证一致性和可用性。

二、BASE原理

BASE原理是对CAP中一致性和可用性权衡的结果,来源于对大规模互联网系统分布式实践的结论。她的核心思想是即使无法做到强一致性,但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性。

分布式理论基础:CAP、BASE、幂等性_第2张图片

 

  1. BA (Basically Available) ,即基本可用,分布式系统出现故障时,允许损失部分可用性,保证核心可用;
  2. S (Soft state) ,即软状态,指允许系统出现中间状态,不会影响系统整体可用性;
  3. E (Eventually consistent),即最终一致,系统中所有数据副本经过一段时间后,最终能够达到一致的状态。

由BASE理论,衍生出了很多数据一致性的解决方案,常见的有三种:强一致性、弱一致性、最终一致性。

三、幂等性问题

幂等性问题,主要解决的就是在高并发环境下,对接口重复调用的数据一致性问题。

比如,在购买付款的时候,点击支付按钮,没反应,就多点击了几次。这种情况下,如果接口不做幂等性设计,就会出现重复下单的问题。幂等性设计兴盛于高并发的场景,保证了请求的唯一性。

以上是都是分布式系统设计的重要理论,其中CAP是基础,BASE是实践,幂等性也是设计中必须考虑的问题。大家可以了解下,对分布式架构的认识有没有更清晰了呢。

你可能感兴趣的:(随手笔记,分布式,CAP,BASE,幂等性,分布式理论)