首页 > 其他分享 >【IT老齐010】CAP定理

【IT老齐010】CAP定理

时间:2023-04-24 18:23:55浏览次数:35  
标签:事务 库存 分区 CAP 010 老齐 分布式系统 一致性

【IT老齐010】CAP定理

1682330303606

分布式架构的基本理论。
指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。
C:更新操作成功后,所有节点在同一时间的数据完全一致。(复习:事务的一致性:事务前后的数据完整性保持一致)
A:用户访问数据时,系统能否在正常响应时间返回预期结果。(复习:事务的原子性:事务是一个不可分割的工作单位,事务要么发生要么不发生)
P:分布式系统遇到某节点或网络分区故障的时候,仍能对外提供一致性和可用性的服务。

CAP这三个要素最多只能同时实现两点,不可能三者兼顾。

场景举例

1682330460359

订单系统下单买了1瓶酒,库存系统酒的数量-1。分布式系统中,系统之间需要网络通信等各种问题。无法实现买了1瓶酒,库存即时-1。

CP:订单创建后,等待库存减少后才返回结果。保证数据一致,强一致性表现,用户体验差。(类似银行存钱)
AP:订单创建后,不等待库存减少后就返回结果。那库存数据怎么办?(异步处理后通知订单系统,若异步处理失败,有补偿机制(重新发请求,补录,校对程序)保证数据一致)。(类似淘宝)
AC:不拆分数据库系统,在一个数据库的一个事务中完成操作,即单体应用。下单,减库存在一个事务。缺点:不能做分区, 分区涉及网络,进而涉及分区容错性,进而选CP,AP。

标签:事务,库存,分区,CAP,010,老齐,分布式系统,一致性
From: https://www.cnblogs.com/faetbwac/p/17350411.html

相关文章

  • 【IT老齐009】IP直连
    【IT老齐009】IP直连问题IP直连存在强耦合问题,因为业务更新可能发生代码修改,编译,部署,走流程等。线上建议用域名代替ip地址。解决方案内部DNS建立一个域名解析服务器,直接访问数据库ip对应的域名,域名解析服务器根据配置解析该域名对应的IP返回。优点IP地址迁移变得灵活,......
  • Appium desktop 保存不了 Saved Capability Sets(按钮置灰)解决办法!
     有很多小伙伴遇到过Appiumdesktop中SavedCapabilitySets0为置灰状态,输入参数后没有保存成功的情况(下图) 经过我的不断研究,终于找到了一个满意的解决办法!!!1.下载方法打开链接下载此应用:https://github.com/appium/appium-inspector/releases(对应系统下载最新版本即可)......
  • 【IT老齐003】数据垂直分表
    【IT老齐003】数据垂直分表水平分表范围法和hash法针对数据量大的存储问题垂直分表将一张大表按列切分多张小表分别存储,通过主外键关联查询数据基本情况基本数据单位为行,管理数据单位为页(默认大小16k),保存页的单位为区(默认大小1m,最大64个页)。根本原因innodb1.0......
  • P4180 [BJWC2010] 严格次小生成树
    P4180[BJWC2010]严格次小生成树/*建立一个最小生成树维护最大值和严格次小值然后直接查询就可以了56121132243354343456*/#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongusingpii=pair<int,int>;constintN=1e......
  • hdu 5446 长春区域赛网络赛1010 Unknown Treasure(lucas定理+中国剩余定理+移位乘法)
    题目链接:hdu5446题目大意:求出Cmn%M,M=p1⋅p2⋯pk题目分析:首先对于每个质数pi我们,我们可以利用Lucas定理求出Cmn%pi的值,Lucas定理如下:Cmn%p=Cm/pn/p⋅Cm%pn%p%p然后我们可以利用中国剩余定理求取最后答案:M=∏i=1kpi,Mi=M/piCmn%M=∑i=1kCmn%pi⋅Mi⋅inv[Mi]因为做乘法......
  • 盘点一款Python发包收包利器——scapy
    今日鸡汤潮平两岸阔,风正一帆悬。    大家好,我是黄伟。今天跟大家讲的是Python用于发送接受网络数据包的模块-------scapy。前言众所周知,我们每天上网都会有很多数据包需要发送,然后处理在接受在发送,这样一个循环往复的过程,这里就显示了很多数据包的发送接收数据。那么,什么是包......
  • cap4模板表单数据库表的对应关系
    formmain表与col_summary表对应:formmain的id对应col_summary中的form_recordid可以通过formmain的id(masterid)找到col_summary对象  col_summary的id对应ctp_affair表中的object_id可以通过col_summary的id获取ctpaffair对象  ......
  • 2010年湖南省对口高考真题
    一、选择题1、下列不是C语言合法标识符的是__________。A._124            B.124abc          C.sum124          D.a_124 2、若有如图1所示存储结构,且变量定义为structnode{intdata;structnode*next;}p,q,r;若要实现图2所示的存储结......
  • 【IT老齐001】单体架构升级问题
    【IT老齐001】单体架构升级问题不谈场景的架构设计都是耍流氓架构没有对不对,只有合不合适架构是宏观设计的标准框架是具体实现的规则架构是取舍的艺术场景举例系统面临大量文件读写影响服务器磁盘IO导致数据库查询高延迟初级解决方案Redis通过在内存中的高吞吐完......
  • 【IT老齐002】MySQL集群模式与应用场景
    【IT老齐002】MySQL集群模式与应用场景单库模式优点简单粗暴适合数据量干万以下小型应用企业网站,创业公司首选缺点不具备可用性与并发性读写分离集群模式读写分离中间件insert、update、delete负载均衡到从库select路由到主库MySQL主从复制binlog......