注意,看完这篇文章需要很长很长很长时间。。。准备工作本文会基于注解的方向分析SpringIOC模块的整体流程,在阅读本篇文章之前建议您先阅读基于XML分析的两篇文章: SpringIOC源码解析(上),SpringIOC源码解析(下)Demo工程本次源码分析的demo工程我已经准备好了,大家可自行前往以下地址下载 https://github.com/shiyujun/spring-f
一、分布式数据一致性 在分布式系统中,为了保证数据的高可用,通常会将数据保留多个副本(replica),这些副本会放置在不同的物理的机器上。 (1)什么是数据一致性 在数据有多份副本的情况下,如果网络、服务器或者软件出现故障,会导致部分副本写入成功,部分副本写入失败。这就造成各个副本之间的数据不一致,数据内容冲突。 造成事实上的数据不一致。 (2)CAP定理 CAP理论认为在分布式的环境下设计和
转载 2017-09-24 18:10:00
372阅读
2评论
在微服务体系下,我们的应用被分割成多个服务,每个服务都配置一个数据库。如果我们的服务划分的不够完美,那么为了完成业务会出现非常多的跨库事务。即使按照 DDD 的原则来切分服务还是免不了有的业务场景需要多个业务同时提交成功或者同时回滚的场景。比如会员使用积分下订单这个场景,那么会员服务的积分扣减需要跟 ...
转载 2021-11-04 14:11:00
416阅读
2评论
一个操作由多个不同服务器的子操作组成,分布式事务就是要保证这些子操作要不全部执行成功,要不全部执行失败。从本
原创 2024-10-28 14:48:58
68阅读
文章目录1.分布式事物常见解决方案:2.两阶段提交(2PC)2.1.第一阶段:投票阶段2.2.第二阶段:提交/执行阶段(成功并不生产事务,L
原创 2022-06-30 11:01:40
863阅读
分布式事务介绍之2PC3PCTCC
转载 2022-03-03 17:37:11
382阅读
2PC,全称是two phase commit,两段式提交,用来解决分布式环境下事务的原子性。单机的原子性是通过redo和undo日志来实现的,但是分布把事务的执行机器...
原创 2022-11-11 12:18:13
104阅读
XA协议两阶段提交1、X/OpenDTP 事务模型是X/Open 这个组织定义的一套分布式事务的标准,也就是定义了规范和 API 接口,由各个厂商进行具体的实现DTP 是分布式事物处理(Distributed Transaction Processing)的简称2、XA协议XA是由X/Open组织提出的分布式事务规范。XA规范主要定义了(全局)事务管理器(TM)和(局 部)资源管理器(RM)之间的
原创 2023-07-17 10:23:48
317阅读
2PC简介 两阶段提交协议(The two-phase commit pro被写入后即被保持在...
原创 2022-03-23 14:10:57
194阅读
摘录极客时间的教程:一 2PC两阶段提交协议的执行过程,分为投票(voting)
原创 2022-12-02 10:11:18
87阅读
​​分布式​​二阶段提交(Two-phase Commit)是指,为了使基于分布式系统架构下的所有节点在进行事务提交时保持一致性而设计的一种算法(Algorithm)。通常,二阶段提交也被称为是一种协议(Protocol)…在分布式系统中,每个节点虽然可以知晓自己的操作时成功或者失败,却无法知道其他节点的操作的成功或失败。当一个事务跨越多个节点时,为了保持事务的ACID特性,需要引入一个作为协调者
转载 2023-02-16 09:52:15
110阅读
在微服务体系下,我们的应用被分割成多个服务,每个服务都配置一个数据库。如果我们的服务划分的不够完美,那么为了完成业务会出现非常多的跨库事务。即使按照DDD的原则来切分服务还是免不了有的业务场景需要多个业务同时提交成功或者同时回滚的场景。比如会员使用积分下订单这个场景,那么会员服务的积分扣减需要跟订单下单成功同时完成。如果下单成功,但是扣减积分接口失败,那么就会造成数据的不一致性。这个时候我们就需要
原创 精选 2021-09-09 19:20:25
1458阅读
两阶段提交(2PC) 两阶段提交又称2PC2PC是一个非常经典的强一致、中心化的原子提交协议。 这里所说的中心化是指协议中有两类节点:一个是中心化协调者节点(coordinator)和N个参与者节点(partcipant)。 两个阶段:第一阶段:投票阶段 和第二阶段:提交/执行阶段。 举例 订单服 ...
转载 2021-10-23 13:27:00
335阅读
2评论
在分布式系统中,我们一般会根据业务对服务进行划分,这就会存在一些服务间的调用关系,所以普通的本地事务是满足不了我们的要求了,需要引入分布式事务来实现我们的一致性的要求。这里对事务进行一个简单的介绍:同学A给同学B转250块钱,系统首先从同学A的银行卡扣除250块钱,如果上述这个步骤成功了,但是系统往同学B的银行卡上转250块钱的时候失败了,那么就会造成数据对不上的情况了。在这种情况下我们就需要引入事务,保证转钱这两步操作要么同时成功要么同时失败,成功的情况就是同学B银行卡也收到了钱,失败的情况是回滚
原创 2021-06-06 01:07:24
1670阅读
絮絮叨叨还记得刚入行开始写Java时,接触的第一个项目是国家电网的一个业务系统,这个系统据说投资了5亿人民币进行研发,鼎盛时期研发人员一度达到过500人。项目采用当时最流行的ssh(Struts+Spring+Hibernate)框架,典型的三层架构(controller - > service -> dao)简单又粗暴,所有人写的代码都放在一个大工程里,项目文件大小达到几百M,解决代
原创 2020-11-05 16:42:04
638阅读
浅析分布式事务2PC3PCTCC基本概念
原创 2021-07-27 16:19:03
271阅读
分布式事务(1) 2PC3PC原理 分布式事物基本理论:基本遵循CPA理论,采用柔性事物特征,软状态或者最终一致性特点保证分布式事物一致性问题。 分布式事物常见解决方案: 2PC两段提交协议 3PC三段提交协议(弥补两端提交协议缺点) TCC或者GTS(阿里) 消息中间件最终一致性 使用LCN解决
原创 2022-05-04 09:56:06
95阅读
什么是事务 什么是分布式事务 DTP 模型和 XA 规范 什么是 DTP 模型 什么是 XA 规范 2PC 一致性算法 2PC-准备阶段 2PC-提交阶段 2PC 算法优缺点 3PC 一致性算法 JDBC 操作 MySQL XA 事务 结言
转载 2021-06-25 10:59:12
269阅读
分布式一致性算法2PC3PC 为了解决分布式一致性问题,产生了不少经典的分布式一致性算法,本文将介绍其中的2PC3PC2PC即Two-Phase Commit,译为二阶段提交协议。 3PC即Three-Phase Commit,译为三阶段提交协议。 分布式系统和分布式一致性问题 分布式系统, ...
转载 2021-09-17 15:28:00
472阅读
2评论
分布式事务(1) 2PC3PC原理 分布式事物基本理论:基本遵循CPA理论,采用柔性事物特征,软状态或者最终一致性特点保证分布式事物一致性问题。 分布式事物常见解决方案: 2PC两段提交协议 3PC三段提交协议(弥补两端提交协议缺点) TCC或者GTS(阿里) 消息中间件最终一致性 使用LCN解决
原创 2022-01-18 11:05:24
116阅读
  • 1
  • 2
  • 3
  • 4
  • 5