分布式事务(二)-CAP理论基础

CAP理论

CAP是 Consistency、Availability、Partition tolerance三个词语的缩写,分别表示一致性、可用性、分区容忍 性。

C: 一致性是指写操作后的读操作可以读取到最新的数据状态,当数据分布在多个节点上,从任意结点读取到的数据都 是最新的状态。也就是数据在多个副本节点中保持一致,可以理解成两个用户访问两个系统A和B,当A系统数据有变化时,及时同步给B系统,让两个用户看到的数据是一致的。

A:可用性是指任何事务操作都可以得到响应结果,且不会出现响应超时或响应错误。系统对外提供服务必须一直处于可用状态,在任何故障下,客户端都能获得服务端非错误的响应。

P:分区容错性:在分布式系统中遇到任何网络分区故障,系统仍然能对外提供服务。网络分区,可以这样理解,在分布式系统中,不同的结点分布在不同的子网络中,有可能子网络中只有一个节点,在所有网络正常的情况下,由于某些原因导致这些子结点之间的网络出现故障,造成整个节点环境被切分成了不同的独立区域,这就是网络分区。

CAP定理:一个分布式系统最多只能同时满足C一致性、A可用性、P分区容错性这三项中的两项。

CAP组合方式

1、当网络发生故障时,系统A和B没法进行数据同步,也就是我们不满足P,同时两个系统依然可以访问,那么此时其实相当于单机系统,也就不是分布式系统了,所以既然我们是分布式系统,P必须满足。

2、当P满足的时候,如果用户1通过系统A对数据进行了修改将data1改成了data2,也要让用户2通过系统B正确的拿到data2,那么此时是满足C,就必须等待网络将系统A和系统B的数据同步好,并且在同步期间,任何人不能访问系统B(让系统不可用),否则数据就是不一致。此时满足的是CP。

3、当P满足时,如果用户1通过系统A对数据进行了修改将data1改成了data2,也要让系统B能继续提供服务,那么此时,只能接受系统A没有将data2同步给系统B(牺牲了一致性)。此时满足的就是AP。

一致性扩展

强一致性:读操作可以立即读到提交的更新操作。

弱一致性:提交的更新操作,不一定会立即被读操作读到,读操作读到最新值需要一段时间。

最终一致性:是弱一致性的特例。是事务A更新一份数据后,最终一致性保证在没有其他事务更新同样的值的话,最终所有的事务都会读到事务A更新的最新值。如果没有错误发生,不一致时间的长短依赖于:通信延迟,系统负载等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值