架构 2 期 - 第六周作业(1)

用户头像
浮生一梦
关注
发布于: 2020 年 11 月 29 日

请简述 CAP 原理。

一、基本概述

在分布式系统设计中,由于其分布式特性,认为不同网络内的服务器在不同的分区,由于网络通信的不确定性,不同分区间网络不一定能时时联通,因此导致了C(一致性)和A(可用性)不能同时满足,存在冲突。

二、解释

存在不同分区的两台服务器S1和S2,如果用户在S1上进行了数据更新,但是由于网络中断,导致S2上未能及时更新,则对S2上数据的访问时,可能有两种处理方式。一种是锁定中断连接的S2,让其服务不可用,待网络恢复再提供服务,失去了可用性。二是还让其提供服务,但是这样其数据的获取便可能是旧数据,或者你更新数据后,就会带来联通后的数据冲突问题,但还是失去了一致性。

综上:CAP原则就是一致性和可用性无法同时保证。

三、如何选择

是优先保证一致性还是可用性,还是应该取决于业务场景。

如果业务场景对于数据的一致性要求并不高,用户可以拿到老的数据,而且也有冲突合并的措施和手段,更加偏向可用性指标。

如果业务场景对于数据的一致性要求严格,则就需要牺牲可用性指标。



用户头像

浮生一梦

关注

还未添加个人签名 2018.04.26 加入

还未添加个人简介

评论

发布
暂无评论
架构2期-第六周作业(1)