CAP定理
2021/9/25 6:42:44
本文主要是介绍CAP定理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、CAP定理
C:一致性C代表更新操作成功后,所有节点在同一时间的数据完全一致。
A:可以性A代表用户访问数据的时候,系统是否能在正常响应时间返回预期的结果。
P:分区容错性P代表分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性或可用性的服务
CAP定理在系统中不可能同时都满足的。
使用场景,作为分布式系统,因为每个模块都在不同的系统中,之间通过网络传递。
如同一个电商系统,分为了两个系统,分别为订单系统和库存系统,当用户下单的时候,首先先创建一个订单,然后去减少库存系统中的商品库存,因为两个系统运行在不同的服务器下,中间又由网络连接,会出现数据一致性的问题。主要解决方案我们可以参考CAP定理根据实际的需求来解决。
CP(强一致性):CP表现为订单创建成功后,一直处于等待的状态,库存减少成功后才会返回结果。缺点用户体验比较差,如果没有处理成功就会一直处于等待的状态,优点可以保证数据的强一致性。
AP:AP表现为订单创建成功后,不等待库存减少直接返回处理结果。保证可用性,牺牲掉了数据的一致性,这里减库存的操作是通过异步的方式进行的,所以基于AP的模式,我们创建订单成功后就会直接返回结果,而不会在乎库存是否减少成功,这里产生最大的问题就是可能会导致数据的不一致性。
AC:表现为不拆为数据系统,在一个数据库的一个事务中完成所有的操作,这个就是单体应用的提现
这篇关于CAP定理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享