分布式事务 --- CAP 理论】的更多相关文章

本文部分来自参考资料!!半原创 概述 介绍CAP理论,并简单地证明了三存二的定论. CAP 理论 1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标.分别为 : Consistency (一致性) Availability (可用性) Partition tolerance (分区容错性) 这三个元素不会同时满足.下图显示了现在许多分布式事务的实现具备的两方面的功能 . 下面我们将介绍这三个元素,我们先来看一下一个简单的分布式系统. 客户端连接着两台服务器,G…
分布式领域CAP理论,Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition tolerance(分区容错性) 可靠性 定理:任何分布式系统只可同时满足二点,没法三者兼顾.忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍. 关系数据库的ACID模型拥有 高一致性 + 可用性 很难进行分区:Atomicity原子性:一个事务中所有操作都必须全部完成,要么全部不完成.Consiste…
背景 一致性是一个抽象的.具有多重含义的计算机术语,在不同应用场景下,有不同的定义和含义.在传统的IT时代,一致性通常指强一致性,强一致性通常体现在你中有我.我中有你.浑然一体:而在互联网时代,一致性的含义远远超出了它原有的含义,在我们讨论互联网时代的一致性之前,我们先了解一下互联网时代的特点,互联网时代信息量巨大.需要计算能力巨大,不但对用户响应速度要求快,而且吞吐量指标也要向外扩展(既:水平伸缩),于是单节点的服务器无法满足需求,服务节点开始池化,想想那个经典的故事,一只筷子一折就断,一把筷…
问题的提出 在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景. 1.火车站售票 假如说我们的终端用户是一位经常坐火车的旅行家,通常他是去车站的售票处购买车票,然后拿着车票去检票口,再坐上火车,开始一段美好的旅行----一切似乎都是那么和谐.想象一下,如果他选择的目的地是杭州,而某一趟开往杭州的火车只剩下最后一张车票,可能在同一时刻,不同售票窗口的另一位乘客也购买了同一张车票.假如说售票系统没有进行一致性的保障,两人都购票成功了.而在检票口检票的时候,其中一…
部分图片总结出自参考资料 问题 : Base 理论为什么会被提出,动机是什么 Base 和 ACID 的区别与联系 概述 上一篇我们知道CAP 理论,也知道由于现实中网络等原因,分区容错性这一元素大多情况都会发送,那么我们唯有加强一致性和可用性这两方面.很多情况下,假如我们的数据不是要去实时准确的,那么维护可用性会比一致性显得更加重要,那么能不能在保证了可用性的同时,最大程度地加强一致性呢?Base 理论的提出就是为解决这个问题提供了一个思路. 下面我们将会了解 ACID 的基础上进行了解 Ba…
CAP Theorem CAP 指的就是 "consistency 一致性","availability 可用性" "partition-tolerance 分区容错性". consistency: 一致性是指写操作后的读操作可以读取到最新的数据状态,当数据分布在多个节点上,从任意结点读取到的数据都是最新的状态.特点:1.由于数据同步过程,写操作的响应存在一定的延迟 2.为了保证数据一致性会对资源进行暂时锁定,待数据同步完成释放锁资源 3.如果请…
CAP是强一致性.可用性(实时可用).分区容忍性: Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性) 一般来说 P 是前提.所以基本是CA里选,不是任意3选2.是误解,一般来说 P 是前提.所以基本是CA里选,不是任意3选2.   为什么呢?   P 意指分区容忍性. 这个分区容忍性什么意思,很多人容易望文生义,不要见风就是雨,理解成别的什么意思.所谓分区指的是网络分区的意思,这个一样还是容易望文生义.详细一点解释,比如…
前言 这是<Spring Cloud 进阶>专栏的第六篇文章,往期文章如下: 五十五张图告诉你微服务的灵魂摆渡者Nacos究竟有多强? openFeign夺命连环9问,这谁受得了? 阿里面试这样问:Nacos.Apollo.Config配置中心如何选型?这10个维度告诉你! 阿里面试败北:5种微服务注册中心如何选型?这几个维度告诉你! 阿里限流神器Sentinel夺命连环 17 问? 这篇文章主要介绍一些目前主流的几种分布式解决方案以及阿里开源的一站式分布式解决方案Seata. 文章有点长,耐…
XA分布式事务协议,包含二阶段提交(2PC),三阶段提交(3PC)两种实现. 1.二阶段提交方案:强一致性 事务的发起者称协调者,事务的执行者称参与者. 处理流程: 1.准备阶段 事务协调者,向所有事务参与者发送事务内容,询问是否可以提交事务,并等待参与者回复. 事务参与者收到事务内容,开始执行事务操作,讲 undo 和 redo  信息记入事务日志中(但此时并不提交事务). 如果参与者执行成功,给协调者回复yes,表示可以进行事务提交.如果执行失败,给协调者回复no,表示不可提交. 2.提交阶…
分布式事务(3)-RocketMQ实现分布式事务原理 之前讲过有关分布式事务2PC.3PC.TCC的理论知识,博客地址: 1.分布式事务(1)---2PC和3PC原理 2.分布式事务(2)---TCC原理 这篇讲有关RocketMQ实现分布式事务的理论知识,下篇也会示例 通过SpringCloud来实例RocketMQ实现分布式事务的项目. 一.举个分布式事务场景 列子:假设 A 给 B 转 100块钱,同时它们不是同一个服务上. 目标:就是 A 减100块钱,B 加100块钱. 实际情况可能有…