前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CAP理论听起来很高大上,其实很简单

CAP理论听起来很高大上,其实很简单

作者头像
zhanyd
发布2022-05-16 13:49:39
2080
发布2022-05-16 13:49:39
举报
文章被收录于专栏:编程我也会

CAP理论听起来很高大上,其实很简单。

一致性(Consistency):保证数据一定是一致的,对的

可用性(Availability):保证系统能用

分区容错性(Partition Tolerance):就算网络出了问题(分区),我也能忍

在分布式系统中,网络是肯定会出问题的,不可避免的,比如服务器挂了,程序挂了,网线被踢掉了,网络超时等等。

各个服务器原来通过网络连接,连成一片,在一个大的区域中,互相之间要同步数据。

现在网络出了问题,各个服务器之间就断了联系,相互之间被隔离了,数据同步不了了,这就形成了分区。

出现了分区,我们也认了,这是网络错误,是无法避免的,所以分区容错性即P,在分布式系统中是一直存在的。

那在P存在的前提下,我们到底是选择保证:数据是对的比较重要呢(CP),还是保证系统能用比较重要呢(AP)?

CP:比如A服务器的数据是要同步给B服务器的,现在网断了,A的数据传不过去了,我觉得保证数据对比较重要,如果A和B的数据对不上,后果很严重。

为了保证A和B服务器的数据一致,干脆让A停止服务好了,直接给客户端返回错误信息,等网络恢复了,再上线,免得A和B的数据不一致。

AP:比如A服务器的数据是要同步给B服务器的,现在网断了,A的数据传不过去了。

我觉得暂时的数据不一致没什么大关系,系统能用最重要,那我就继续让A提供服务,等网络恢复了,再同步数据到B。

CAP的问题就是网络不通的情况下,我们优先保证数据一致,还是优先保证系统可用的问题。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程我也会 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档