![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Seata
架构攻城之路
敢拒绝,还有梦。
有qian,有闲,有成长;
有你,也有我。
展开
-
分布式事务XA+JTA+TCC++RocketMQ+SEATA原理加实战
事务大家都很熟悉,小范围来说就是数据库为了保证数据的一致性而做的操作规范和限制。常见的就是AICD四大特性:原子性,隔离性,一致性,持久性分布式事务顾名思义就是分布式系统当中的事务如何保证这些特性。分布式事务分为两块来理解:1.分布式:那么就会涉及到多个数据库(支持事务),内存和磁盘数据等硬件都不在一起,想从操作系统层面控制是不可能了。那么只能找出一个协调者来组织本地事务一起工作。2.事务:必须本地数据库支持(无论关系型数据库还是非关系型数据库)分布式系统有一个很著名的CAP理论,C 一致性:转载 2020-10-23 14:37:03 · 2705 阅读 · 0 评论 -
【分布式事务Seata源码解读二】Client端启动流程
本文从源码的角度分析一下AT模式下Client端启动流程,所谓的Client端,即业务应用方。分布式事务分为三个模块:TC、TM、RM。其中TC位于seata-server端,而TM、RM通过SDK的方式运行在client端。下图展示了Seata官方Demo的一个分布式事务场景,分为如下几个微服务,共同实现了一个下订单、扣库存、扣余额的分布式事务。BusinessService:业务服务,下单服务的入口 StorageService:库存微服务,用于扣减商品库存 OrderServic...转载 2020-09-25 17:00:34 · 693 阅读 · 0 评论 -
【分布式事务Seata源码解读一】Server端启动流程
实现分布式事务的核心要点:事务的持久化,事务所处的各种状态事务参与方的各种状态都需要持久化,当实例宕机时才能基于持久化的数据对事务回滚或提交,实现最终一致性 定时对超时未完成事务的处理(继续尝试提交或回滚),即通过重试机制实现事务的最终一致性 分布式事务的跨服务实例传播,当分布式事务跨多个实例时需要实现事务的传播,一般需要适配不同的rpc框架 事务的隔离级别:大多数分布式事务为了性能,默认的隔离级别是读未提交 幂等性:对于XA或者seata的AT这样的分布式事务来说,都已经默认实现了幂等性,而T转载 2020-09-25 16:59:05 · 862 阅读 · 0 评论 -
Spring Cloud Alibaba 分布式事务 Seata AT 模式 + Feign + Dubbo
摘要: 原创出处 http://www.iocoder.cn/Spring-Cloud-Alibaba/Seata/ 「芋道源码」欢迎转载,保留摘要,谢谢!1. 概述 2. AT 模式 + Dubbo 3. AT 模式 + Feign本文在提供完整代码示例,可见https://github.com/YunaiV/SpringBoot-Labs的labx-20目录。原创不易,给点个Star嘿,一起冲鸭!1. 概述在《芋道 Seata 极简入门》文章中,我们对 Seata ...转载 2020-09-16 12:01:32 · 1688 阅读 · 0 评论 -
seata分布式事务原理解释,AT模式简介
seata入门http://seata.io/zh-cn/docs/overview/what-is-seata.html以git主页上面的quickstart开始分析(purchase包含若干分布式的事务service),号称一个注解即可搞定分布式事务We just need an annotation @GlobalTransactional on business method: @GlobalTransactional public void purchase(Str...转载 2020-07-29 10:19:42 · 1117 阅读 · 0 评论 -
分布式事务 Seata Saga 模式首秀以及三种模式详解 | Meetup#3 回顾
作者:屹远(陈龙),蚂蚁金服分布式事务核心研发 。 本文根据 8月11日 SOFA Meetup#3 广州站 《分布式事务 Seata 及其三种模式详解》主题分享整理,着重分享分布式事务产生的背景、理论基础,以及 Seata 分布式事务的原理以及三种模式(AT、TCC、Saga)的分布式事务实现。本次分享的视频回顾以及 PPT 查看地址:tech.antfin.com/community/a…一、分布式事务产生的背景1.1 分布式架构演进之 - 数据库的水平拆分蚂蚁金服的业务数据库起初是单库转载 2020-08-01 11:09:28 · 1608 阅读 · 0 评论 -
Seata 1.2 进阶入门
Seata 1.2 进阶入门本篇作者:陈健斌(funkye),github:https://github.com/a364176773gitee:https://gitee.com/itCjb初级入门地址:https://mp.weixin.qq.com/s/BOntA2mcdF-e0t2e4CBjPQ本篇视频教程:https://www.bilibili.com/video/BV1tz411z7BX介绍本篇将介绍,如何通过官网的新人文档,参数说明,博客区等,进行Seata 1.2 的.转载 2020-07-23 10:01:54 · 1325 阅读 · 0 评论 -
Seata AT 模式 原理详解
前提基于支持本地 ACID 事务的关系型数据库。 Java 应用,通过 JDBC 访问数据库。整体机制两阶段提交协议的演变: 一阶段:业务数据和回滚日志记录在同一个本地事务中提交,释放本地锁和连接资源。 二阶段: 提交异步化,非常快速地完成。 回滚通过一阶段的回滚日志进行反向补偿。 写隔离一阶段本地事务提交前,需要确保先拿到全局锁。 拿不到全局锁,不能提交本地事务。 拿全局锁的尝试被限制在一定范围内,超出范围将放弃,并回滚本地事务,释放本地锁。以...转载 2020-09-16 09:43:47 · 3618 阅读 · 0 评论