随笔分类 -  分布式事务

摘要:如何理解分布式事务? 在传统的关系型数据库中,事务是一个标准组件,几乎所有成熟的关系型数据库都提供了对本地事务的原生支持。本地事务提供了 ACID 事务特性。基于本地事务,为了保证数据的一致性,我们先开启一个事务后,才可以执行数据操作,最后提交或回滚就可以了。更进一步,借助于 Spring 等集成化 阅读全文
posted @ 2020-11-18 20:00 天宇轩-王 阅读(5887) 评论(2) 推荐(1) 编辑
摘要:1 P2P介绍P2P金融又叫P2P信贷。其中P2P是 peer-to-peer 或 person-to-person 的简写,意思是:个人对个人。P2P金融指个人与个人间的小额借贷交易,一般需要借助电子商务专业网络平台帮助借贷双方确立借贷关系并完成相关交易手续。借款者可自行发布借款信息,包括金额、利 阅读全文
posted @ 2020-03-16 21:55 天宇轩-王 阅读(520) 评论(0) 推荐(2) 编辑
摘要:最大努力通知也是一种解决分布式事务的方案,下边是一个是充值的例子: 交互流程:1、账户系统调用充值系统接口2、充值系统完成支付处理向账户系统发起充值结果通知 若通知失败,则充值系统按策略进行重复通知3、账户系统接收到充值结果通知修改充值状态。4、账户系统未接收到通知会主动调用充值系统的接口查询充值结 阅读全文
posted @ 2020-03-12 19:23 天宇轩-王 阅读(1191) 评论(0) 推荐(1) 编辑
摘要:什么是可靠消息最终一致性事务 可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息,事务参与方(消息消费者)一定能够接收消息并处理事务成功,此方案强调的是只要消息发给事务参与方最终事务要达到一致。此方案是利用消息中间件完成,如下图:事务发起方(消息生产方)将消息发给消息中间件,事务 阅读全文
posted @ 2020-03-11 17:34 天宇轩-王 阅读(861) 评论(0) 推荐(2) 编辑
摘要:什么是TCC事务TCC是Try、Confirm、Cancel三个词语的缩写,TCC要求每个分支事务实现三个操作:预处理Try、确认Confirm、撤销Cancel。Try操作做业务检查及资源预留,Confirm做业务确认操作,Cancel实现一个与Try相反的操作即回滚操作。TM首先发起所有的分支事 阅读全文
posted @ 2020-03-10 12:43 天宇轩-王 阅读(3968) 评论(1) 推荐(3) 编辑
摘要:什么是2PC 2PC即两阶段提交协议,是将整个事务流程分为两个阶段,准备阶段(Prepare phase)、提交阶段(commitphase),2是指两个阶段,P是指准备阶段,C是指提交阶段。举例:张三和李四好久不见,老友约起聚餐,饭店老板要求先买单,才能出票。这时张三和李四分别抱怨近况不如意,囊中 阅读全文
posted @ 2020-03-08 17:29 天宇轩-王 阅读(2680) 评论(1) 推荐(3) 编辑
摘要:基础概念 1.1.什么是事务什么是事务?举个生活中的例子:你去小卖铺买东西,“一手交钱,一手交货”就是一个事务的例子,交钱和交货必须全部成功,事务才算成功,任一个活动失败,事务将撤销所有已成功的活动。明白上述例子,再来看事务的定义:事务可以看做是一次大的活动,它由不同的小活动组成,这些活动要么全部成 阅读全文
posted @ 2020-03-07 20:40 天宇轩-王 阅读(321) 评论(0) 推荐(1) 编辑
摘要:Seata 是什么? Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。 AT 模式 前提 基于支持本地 ACID 事务的关系型数据库。 Java 应用,通 阅读全文
posted @ 2019-11-15 10:14 天宇轩-王 阅读(4481) 评论(0) 推荐(4) 编辑