首页 |新闻 |娱乐 |财经 |科技 |军事 |体育 |游戏 |健康 |汽车

分布式事务——2PC、3PC 和 TCC

2019-10-30 12:07:21 来源:东方头条     点击: 字体:

对于单机下的本地事务,很显然我们有已被实践证明的成熟 ACID 模型来保证数据的严格一致性。但对于一个高访问量、高并发的分布式系统来说,如果我们期望实现一套严格满足 ACID 特性的分布式事务,很可能出现的情况就是在系统的可用性和严格一致性之间出现冲突——因为当我们要求分布式系统具有严格一致性时,很可能就要牺牲掉系统的可用性。但毋庸置疑的一点是,可用性又是一个所有用户不允许我们讨价还价的属性,比如像淘宝这样的网站,我们要求它 7x24 小时不间断地对外服务。因此,我们需要在可用性和一致性之间做一些取舍,围绕这种取舍,出现了两个经典的分布式理论——CAP 和 BASE,这两者也是所有分布式事务协议的基石。

一、CAP 定理

CAP 首次在 ACM PODC 会议上作为猜想被提出,两年后被证明为定理,从此深深影响了分布式计算的发展。CAP 理论告诉我们,一个分布式系统不可能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三个基本需求,最多只能同时满足其中的两项。

一致性:数据在多个副本之间保持一致。当有一个节点的数据发生更新后,其它节点应该也能同步地更新数据。

可用性:对于用户的每一个操作请求,系统总能在有限的时间内返回结果。

分区容错性:分布式系统中的不同节点可能分布在不同的子网络中,这些子网络被称为网络分区。由于一些特殊原因导致子网络之间出现网络不连通的情况,系统仍需要能够保证对外提供一致性和可用性的服务。

CAP 定理告诉了我们同时满足这三项是不可能的,那么放弃其中的一项会是什么样的呢?

放弃项

放弃P : 如果希望能够避免出现分区容错性问题,一种较为简单的做法是将所有数据放在一个节点上。这样肯定不会受网络分区影响。但此时分布式系统也失去了意义。因此在实际的架构设计中,P是一定要满足的。

免责声明:法制期刊网(www.fzqkw.com)本栏目发布信息,目的在于传播更多信息,丰富网络文化,稿件仅代表作者个人观点,与法制期刊网无关。其原创性以及中文陈述文字和文字内容未经本网证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本网不做任何保证或者承诺,请读者仅作参考,并请自行核实相关内容。凡注明为其他媒体来源的信息,均为转载自其他媒体,转载并不代表本网赞同其观点,也不代表本网对其真实性负责。您若对该稿件由任何怀疑或质疑,请即徐州视窗联系,本网将迅速给您回应并做处理。

  • 新闻
  • 国内新闻
  • 国际新闻
  • 社会新闻
  • 娱乐
  • 电影
  • 电视

猜你喜欢

法制期刊网 版权所有,未经书面授权禁止使用