分布式事务
文章平均质量分 92
MayMatrix
J2EE .
展开
-
如何解决分布式事务问题?
金融核心等业务可能会选择 TCC 方案,以追求强一致性和更高的并发量,而对于更多的金融核心以上的业务系统 往往会选择补偿事务,补偿事务处理在 30 多年前就提出了 Saga 理论,随着微服务的发展,近些年才逐步受到大家的关注。如果你要操作别的服务对应的库,不允许直连别的服务的库,违反微服务架构的规范,你随便交叉胡乱访问,几百个服务的话,全体乱套,这样的一套服务是没法管理的,没法治理的,可能会出现数据被别人改错,自己的库被别人写挂等情况。这个的意思,就是干脆不要用本地的消息表了,直接基于 MQ 来实现事务。转载 2023-06-30 18:01:21 · 91 阅读 · 0 评论 -
微信红包的 CAP 及 背后的技术
微信红包背后的技术经过2014年一年的酝酿,2015微信红包总量创下历史新高,峰值1400万次/秒,8.1亿次每分钟,微信红包收发达10.1亿次,系统整体运行平稳, 在这里我分享下微信红包背后的技术。讲师:jeri核心功能&目标首先,了解下微信红包的4个逻辑:摇/发/抢/拆。看似简单,实现可不简单再review下微信红包要实现目标:摇:摇的流畅快:...转载 2021-06-17 12:09:14 · 519 阅读 · 0 评论 -
还不理解“分布式事务”?这篇给你讲清楚!
这篇文章将介绍什么是分布式事务,分布式事务解决什么问题,对分布式事务实现的难点,解决思路,不同场景下方案的选择,通过图解的方式进行梳理、总结和比较。相信耐心看完这篇文章,谈到分布式事务,不再只是有“2PC”、“3PC”、“MQ的消息事务”、“最终一致性”、“TCC”等这些知识碎片,而是能够将知识连成一片,形成知识体系。什么是事务介绍分布式事务之前,先介绍什么是事务。事务的具体定义事务提供一种机制将一个活动涉及的所有操作纳入到一个不可分割的执行单元,组成事务的所有操作只有在所有操作均能正常转载 2020-07-10 20:59:08 · 438 阅读 · 0 评论 -
分布式架构之设计篇——刚性事务总结和柔性事务概述
- 刚性事务总结 -在《分布式架构之设计篇-刚性事务之2PC详解》和《分布式架构之设计篇-刚性事务之3PC详解》二文中分析了分布式事务的本质、XA、2PC、3PC等等。但是没有说分布式事务的现象或者场景,我总结了分布式事务的触发场景大约有以下几种:1、跨数据库分布式事务:数据库的物理分割下保障跨库操作的ACID。2、跨服务分布式事务:服务的网络分割下保障多服务的事务完整性。3、混合式分布式事务:跨数据库分布式事务 + 跨服务分布式事务。最根本的原因就是事务参与者出现...转载 2020-07-10 20:33:09 · 734 阅读 · 0 评论 -
分布式场景之刚性事务-XA/2PC详解
分布式一致性分布式场景下,多个服务同时对服务一个流程,比如电商下单场景,需要支付服务进行支付、库存服务扣减库存、订单服务进行订单生成、物流服务更新物流信息等。如果某一个服务执行失败,或者网络不通引起的请求丢失,那么整个系统可能出现数据不一致的原因。上述场景就是分布式一致性问题,追根到底,分布式一致性的根本原因在于数据的分布式操作,引起的本地事务无法保障数据的原子性引起。分布式一致性问题的解决思路有两种,一种是分布式事务,一种是尽量通过业务流程避免分布式事务。分布式事务是直接解决...转载 2020-07-10 20:28:51 · 1835 阅读 · 0 评论 -
分布式柔性事务之Saga详解
- 起源 -Saga模型起源于1987年 Hector Garcia-Molina,Kenneth Salem 发表的论文《Sagas》,是分布式事务相关概念最早出现的。Saga模型是把一个分布式事务拆分为多个本地事务,每个本地事务都有相应的执行模块和补偿模块(对应TCC中的Confirm和Cancel),当Saga事务中任意一个本地事务出错时,可以通过调用相关的补偿方法恢复之前的事务,达到事务最终一致性。- 组成 -Saga模型主要分: ...转载 2020-07-10 20:21:14 · 2907 阅读 · 0 评论 -
讲清楚分布式事务选型:XA、2PC、TCC、Saga、阿里Seata
微服务兴起的这几年涌现出不少分布式事务框架,比如ByteTCC、TCC-transaction、EasyTransaction以及最近很火爆的Seata。最近刚看了Seata的源码(v0.5.2),借机记录一下自己对分布式事务的一些理解。(3年前这类框架还没成熟,因项目需要自己也写过一个柔性事务框架)。本文分五部分,首先明确分布式事务概念的演变,然后简单说下为什么大家不用XA,第三部分阐述两阶段提交的“提升”,第四部分介绍Seata的架构的亮点与问题,第五部分谈下分布式事务的取舍。限于篇幅...转载 2020-07-09 16:07:38 · 3022 阅读 · 0 评论 -
微服务分布式事务4种解决方案实战
分布式事务分布式事务是指事务的参与者,支持事务的服务器,资源服务器分别位于分布式系统的不同节点之上,通常一个分布式事物中会涉及到对多个数据源或业务系统的操作。典型的分布式事务场景:跨银行转操作就涉及调用两个异地银行服务CAP理论CAP理论:一个分布式系统不可能同时满足一致性,可用性和分区容错性这个三个基本需求,最多只能同时满足其中两项一致性(C):数据在多个副本之间是否能够保持一致的特性。可用性(A):是指系统提供的服务必须一致处于可用状态,对于每一个用户的请求总是在有限的时间内返回转载 2020-07-08 16:24:16 · 736 阅读 · 0 评论 -
分布式事务精华总结篇
- 总述 -咱们前面分别对分布式事务的几个分支:XA、2PC、3PC、TCC、Saga、事务消息、最大努力事务进行的详细介绍。本篇作为分布式事务设计的收尾篇,讲对前面的内容查缺补漏和总结,最后对市面的一些开源框架做一些介绍。- 查缺补漏 -1.补偿型事务柔性事务分补偿型事务和通知型事务。但对补偿型事务没有进行详细介绍,那什么是补偿型事务呢,在Atomikos 公司Guy Pardon的论文《Business_Activities》中有这样的描述:...转载 2020-07-07 11:04:24 · 209 阅读 · 0 评论