电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

CAP理论与最终一致性VIP免费

CAP理论与最终一致性_第1页
1/16
CAP理论与最终一致性_第2页
2/16
CAP理论与最终一致性_第3页
3/16
CAP理论与最终一致性分布式数据中心分布式数据中心假设有一个主数据中心在北京M,然后有成都A,上海B两个地方数据中心假设成都上海各自的数据中心有记录变更,需要先同步到主数据中心,主数据中心更新完成之后,再把最新的数据分发到上海,成都的地方数据中心A,地方数据中心更新数据,保持和主数据中心一致性(数据库结构完全一致)。数据更新的消息是通过一台中心的MQ进行转发。系统会出哪些问题?非正常状态如何保证A->M的消息,M一定接收到了,同样,如何保证M->A的消息,M一定接收到了如果数据需要一致性更新,比如A发送了三条消息给M,M要么全部保存,要么全部不保存,不能够只保存其中的几条记录。我们假设更新的数据是一条条发送的。假设同时A发送了多条更新请求,如何保证顺序性要求?如何解决这些问题?网店购物系统状态订单的有三个状态:I:初始P:已支付W:已出库,订单金额100,会员帐户余额200如果整个流程比较顺利,正常情况下,订单的状态会变为I->P->W,会员帐户余额100,订单出库。系统会出哪些问题?非正常状态订单系统调用支付系统支付订单,支付成功,但是返回给订单系统数据超时,订单还是I(初始状态),但是此时会员帐户余额100。订单系统调用支付系统成功,状态也已经更新成功,但是通知仓库发货失败,这个时候订单是P(已支付)状态,此时会员帐户余额是100,但是仓库不会发货。订单系统调用支付系统成功,状态也已经更新成功,然后通知仓库发货诉订单系统,没有货了。这个时候数据状态和前一种情况一样如何解决这些问题?。分布式系统的CAP一致性(Consistency)数据系统在执行过某项操作后,所有节点在同一时间都具有最新的值,所以不管用户访问哪一个节点都会读取到最新的值可用性(Availability)每一个操作总是能够在一定的时间内返回结果,"一定时间内"是指,系统的结果必须在给定时间内返回,如果超时则被认为不可用分区容错性(PartitionTolerance)除了整个网络的故障外,其他的故障(集)都不能导致整个系统无法正确响应CAP理论CAP是在分布式环境中设计和部署系统时所要考虑的三个重要的系统需求根据CAP理论,数据共享系统只能满足这三个特性中的两个,而不能同时满足三个条件系统设计者必须清楚系统真正需要的是什么,然后在这三个特性之间做出权衡CAP理论讲解在网络中有两个节点分别为G1和G2,存储着同一数据的不同副本,现在的数据是一致的,两个副本的值都是V0,A、B分别是运行在G1、G2上的应用程序CAP理论讲解:正常流程1.A将V0更新,数据值为V12.G1发送消息m给G2,数据V0更新为V13.B读取到G2中的V1CAP理论讲解:网络分区故障1.A将V0更新,数据值为V12.G2没有收到G1的信息m3.B读取到G2中的V0,数据一致性没有得到保证CAP理论讲解:网络分区故障1.A将V0更新,数据值为V12.G2没有收到G1的信息m3.如果需要保证一致性,那么就要阻止B读取数据,这就破坏了可用性CAP理论讲解:不同的一致性假如有一个客户程序把对象A的值从V0改为V1强一致性系统保证其它所有客户程序的后续读取操作都会得到V1弱一致性系统不能保证其它所有客户程序的后续读取操作都会得到V1最终一致性系统不能保证其它客户程序的后续读取操作都会立即得到V1,但会保证在经过一段时间后,其它客户程序会得到V1这段可能不一致的时间段称为“不一致性窗口”客户端/服务器端一致性服务器端一致性如何尽快将更新后的数据分布到整个系统,降低达到最终一致性的时间窗口可以统过调整副本一致性策略决定是支持哪种一致性客户端一致性多进程并发访问时,更新过的数据在不同进程如何获取的不同策略,决定了不同的一致性分组讨论哪些系统需要强/弱/最终一致性?银行的ATM系统,飞机售票系统新浪网站系统系官方网站

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

CAP理论与最终一致性

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部