分布式事务
Starring丶爸爸
这个作者很懒,什么都没留下…
展开
-
RocketMQ实现可靠消息最终一致性
RocketMQ实现可靠消息最终一致性 业务说明 本实例通过RocketMQ中间件实现可靠消息最终一致性分布式事务,模拟两个账户的转账交易过程。 两个账户在分别在不同的银行(张三在bank1、李四在bank2),bank1、bank2是两个微服务。 交易过程是,张三 给李四转账指定金额。 上述交易步骤,张三扣减金额与给bank2发转账消息,两个操作必须是一个整体性的事务。 程序组成部分 数据库:MySQL-8.X (包括bank1和bank2 两个数据库) JDK:1.8.X 微服务框架:SpringBo原创 2020-06-21 14:15:21 · 1528 阅读 · 1 评论 -
分布式事务解决方案-可靠消息最终一致性
分布式事务解决方案之可靠消息最终一致性 什么是可靠消息最终一致性事务 可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息,事务参与方(消息消费者)一定能 够接收消息并处理事务成功,此方案强调的是只要消息发给事务参与方最终事务要达到一致。 此方案是利用消息中间件完成,如下图: 事务发起方(消息生产方)将消息发给消息中间件,事务参与方从消息中间件接收消息,事务发起方和消息中间件 之间,事务参与方(消息消费方)和消息中间件之间都是通过网络通信,由于网络通信的不确定性会导致分布式事 务问题。原创 2020-06-20 17:49:02 · 570 阅读 · 0 评论 -
Hmily实现TCC事务
Hmily实现TCC事务 业务说明 本实例通过Hmily实现ICC分布式事务,模拟两个账户的转账交易过程。 两个账户分别在不同的银行(张三在bank1、李四在bank2) , bank1. bank2是两个微服务。 交易过程 是,张三给李四转账指定金额。 上述交易步骤,要么一起成功,要么一起失败,必须是一个整体性的事务。 程序组成部分 数据库:MySQL-8.X (包括bank1和bank2 两个数据库) JDK:1.8.X 微服务框架:SpringBoot2.3、SpringCloudHoxton Hm原创 2020-06-20 09:37:52 · 485 阅读 · 0 评论 -
分布式事务解决方案-TCC
分布式事务解决方案-TCC 什么是TCC事务 TCC是Try、Confirm、Cancel三个词的缩写,TCC要求每个分支事务实现三个操作,预处理Try、确认Confirm、撤销Cancel。Try操作做业务检查及资源预留,Confirm做业务确认操作,Cancel实现一个与Try相反得cao操作的回滚操作。TM首先先发起所有的分支事务的try操作,任何一个分支事务的Try操作执行失败,TM将会发起所有的分支事务的Cancel操作,若Try操作全部成功,TM将会发起所有分支事务的Confirm操作,其中Co原创 2020-06-19 11:01:04 · 265 阅读 · 0 评论 -
Seata实现2PC事务
Seata实现2PC事务 业务说明 通过Seata中间件实现分布式事务,模拟三个账户转账交易过程。 两个账户在两个不同的银行(张三在bank1,李四在bank2),bank1与bank2是 两个微服务,交易过程是张三给李四转账指定金额 上述交易步骤,要么一起成功,要么一起失败,必须在一个整体性的事务。 ##程序组成部分 数据库:MySQL-8.X (包括bank1和bank2 两个数据库) JDK:1.8.X 微服务框架:SpringBoot2.3、SpringCloudHoxton Seata客户端(R原创 2020-06-18 23:28:05 · 306 阅读 · 0 评论 -
分布式事务解决方案-2PC
分布式事务解决方案-2PC 什么是2PC 2PC 即两阶段提交协议,是将整个事务流程分为两个阶段,准备阶段(Prepare phase)、提交阶段(Commit phase),2是指俩个阶段,P是准别阶段,C是提交阶段。 举例:张三李四好久不见面,约起来聚餐,饭店要求先买单,才能出票。这是张三李四,都不愿意请客,这时只能AA,只有他们都付款,老板才能出票安排就餐。但由于两人都是铁公鸡,形成了尴尬的一幕: 准备阶段: 老板要求张三付款,张三付款。老板要求李四付款,李四付款。 提交阶段:老板出票,安排就餐。 例原创 2020-06-16 08:19:36 · 134 阅读 · 0 评论 -
事务基础篇
分布式事务事务基础篇什么是事务本地事务分布式事务分布式事务产生的场景分布式事务基础理论CAP理论CAP组合方式BASE理论理解强一致性和最终一致性BASE理论介绍 事务基础篇 什么是事务 事务可以看作是一次大的活动,它由不同的小活动组成,这些活动要么全部成功,要么全部失败! 本地事务 在计算机系统中,更多的是通过关系型数据库来控制事务,这是利用数据库本身的事务特性来完成的,因此叫做数据库事务,由于应用和数据库通常在一台服务器,所以基与关系型数据库的事务又被叫做本地事务。 数据库事务的四大特性ACID: A原创 2020-06-15 10:59:07 · 198 阅读 · 0 评论