分布式系统中的CAP理论
程序员文章站
2022-03-06 18:10:28
CAP理论指的是一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。CAP特性的取舍我们分析一下既然可以满足两个,那么舍弃哪一个比较好呢?(1)满足CA舍弃P,也就是满足一致性和可用性,舍弃容错性。但是这也就意味着你的系统不是分布式的了,因为涉及分布式的想法就是把功能分开,部署到不同的机器上。(2)满足CP舍弃A,也就是满足一致性和容错性,舍弃可用性。如果你的系统允许....
CAP理论指的是一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。
CAP特性的取舍
我们分析一下既然可以满足两个,那么舍弃哪一个比较好呢?
(1)满足CA舍弃P,也就是满足一致性和可用性,舍弃容错性。但是这也就意味着你的系统不是分布式的了,因为涉及分布式的想法就是把功能分开,部署到不同的机器上。
(2)满足CP舍弃A,也就是满足一致性和容错性,舍弃可用性。如果你的系统允许有段时间的访问失效等问题,这个是可以满足的。就好比多个人并发买票,后台网络出现故障,你买的时候系统就崩溃了。
(3)满足AP舍弃C,也就是满足可用性和容错性,舍弃一致性。这也就是意味着你的系统在并发访问的时候可能会出现数据不一致的情况。
实时证明,大多数都是牺牲了一致性。像12306还有淘宝网,就好比是你买火车票,本来你看到的是还有一张票,其实在这个时刻已经被买走了,你填好了信息准备买的时候发现系统提示你没票了。这就是牺牲了一致性。
但是不是说牺牲一致性一定是最好的。就好比mysql中的事务机制,张三给李四转了100块钱,这时候必须保证张三的账户上少了100,李四的账户多了100。因此需要数据的一致性,而且什么时候转钱都可以,也需要可用性。但是可以转钱失败是可以允许的。
本文地址:https://blog.csdn.net/qq_18671415/article/details/111931301
下一篇: 介绍MySQL大表优化方案
推荐阅读
-
centos 7中设置tomcat 7为系统服务的方法详解
-
Linux系统中获取路径的文件名的方法
-
在Linux系统中给iptables规则添加注释的教程
-
在Linux系统中获得文件所在目录名的方法
-
64位系统中IIS7运行ASP时出现ADODB.Connection 800a0e7a错误的解决方法
-
详解Linux系统中的tempfs与/dev/shm
-
win7系统中罗技M558鼠标不能自动连接的详细解决办法
-
Python_WIN10系统中递归所有文件夹所有文件_移动所有文件到主目录(使用到的库:os + glob + shutil)
-
关闭Linux系统中的SELinux功能的教程
-
Linux系统中的mount挂载磁盘命令使用教程