CAP模型,原理及取舍

CAP模型,原理及取舍

构建服务集群,通常是为了解决单点故障服务直接不可用的问题。那么集群的宗旨就是避免在单点故障时,整个服务不可用。

cap理论:

cap理论中包括三个分布式服务的属性:

可用性:保证服务可用。

数据强一致性:保证在任何提供服务的时间点上,分布式系统中所有节点的数据完全一致。

分区容错性:保证当分布式系统中有任一或几个结点发生故障或数据不一致时,整个系统仍能正常提供服务。

注意:”数据的强一致性“与”数据的最终一致性“是不同的概念。

由上述概念可知:

这三个属性不可能同时满足,因此,一般的分布式服务中,会优先选择两项进行满足。

image

1.舍弃数据强一致性

在这种情况下,需要确认当数据缺失时,不会影响服务本身的正确性。举例:

Eureka集群:

有三台Eureka服务发现,其中一台发现了三个,一台发现了四个,一台发现了五个,那么当消费者选取其中任意一台服务发现的时候,都可以获得服务,因此Eureka服务的数据不一致并不影响其正常提供发现服务。

2.舍弃高可用:

在选择了分区容错和数据强一致性的前提下,当发生数据不一致时,整个分布式服务将会阻塞,停止向外部提供服务,并且进行数据的同步,在数据完全同步之前不会回复对外的服务,在这种情况下,需要保证数据的完全一致性,因此一定会破坏高可用性。

posted @ 2021-08-31 22:56  飞杨煎生物  阅读(794)  评论(0)    收藏  举报