CAP模型,原理及取舍
CAP模型,原理及取舍
构建服务集群,通常是为了解决单点故障服务直接不可用的问题。那么集群的宗旨就是避免在单点故障时,整个服务不可用。
cap理论:
cap理论中包括三个分布式服务的属性:
可用性:保证服务可用。
数据强一致性:保证在任何提供服务的时间点上,分布式系统中所有节点的数据完全一致。
分区容错性:保证当分布式系统中有任一或几个结点发生故障或数据不一致时,整个系统仍能正常提供服务。
注意:”数据的强一致性“与”数据的最终一致性“是不同的概念。
由上述概念可知:
这三个属性不可能同时满足,因此,一般的分布式服务中,会优先选择两项进行满足。

1.舍弃数据强一致性:
在这种情况下,需要确认当数据缺失时,不会影响服务本身的正确性。举例:
Eureka集群:
有三台Eureka服务发现,其中一台发现了三个,一台发现了四个,一台发现了五个,那么当消费者选取其中任意一台服务发现的时候,都可以获得服务,因此Eureka服务的数据不一致并不影响其正常提供发现服务。
2.舍弃高可用:
在选择了分区容错和数据强一致性的前提下,当发生数据不一致时,整个分布式服务将会阻塞,停止向外部提供服务,并且进行数据的同步,在数据完全同步之前不会回复对外的服务,在这种情况下,需要保证数据的完全一致性,因此一定会破坏高可用性。


浙公网安备 33010602011771号