![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式事务
文章平均质量分 94
无法无天过路客
Java程序员一枚,喜欢记录收集技术文章
展开
-
分布式事务 - AT模式Dubbo集成Seata
本篇基于Dubbo集成Seata实现一个分布式事务的解决方案,在整个业务流程中,会涉及如下三个服务: 订单服务:用于创建订单。 账户服务:从账户中扣减余额。 库存服务:扣减指定商品的库存数量。 下图时这三个微服务的整体架构图,用户执行下单请求时,会调用下单业务的REST接口,该接口会分别调用库存服务以及订单服务。另外,订单服务还会调用账户服务先进行资金冻结,整个流程涉及这三个服务的分布式事务问题。 项目准备 基于Spring Boot + Nacos + Dubbo构建项目,包含下面这些服务: sa原创 2020-06-06 18:47:36 · 945 阅读 · 1 评论 -
分布式事务 - Seata的安装
Seata是一个需要独立部署的中间件,除了直接部署外,还支持多种部署方式,比如Docker、Kubernetes、Helm。本文主要介绍直接安装的方式。 在Seata官网下载1.2.0版本的安装包 进入${SEATA_HOME}\bin目录,根据系统类型执行相应的启动脚本。 seata支持设置启动参数,完整的参数列表如下 参数 全写 作用 备注 -h –host 指定在注册中心注册的ip 不指定时获取当前的IP地址,外部访问部署在云环境和容器中的server,建议指定 -p –por原创 2020-06-06 08:19:57 · 469 阅读 · 0 评论 -
分布式事务 - 分布式事务框架Seata
Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。它提供了AT、TCC、Saga和XA事务模式,为开发者提供了一站式的分布式事务解决方案。其中TCC和XA可以参考之前的文章,AT和Saga这两种事务模型是什么呢? AT模式 AT模式是Seata最主推的分布式事务解决方案,它是基于XA演进而来的一种分布式事务模式,所以它同样分为三大模块,分别是TM、RM和TC,其中TM和RM作为Seata的客户端与业务系统集成,TC作为Seata的服务器独立部署。TM表示事务原创 2020-06-04 21:22:14 · 310 阅读 · 0 评论 -
分布式事务 - 三种常见的解决方案
基于CAP理论我们可以知道,对于数据一致性问题有AP和CP两种方案,但是在电商领域等互联网场景下,基于CP的强一致性方案在数据库性能和系统处理能力上会存在一定的瓶颈。所以在互联网场景中更多采用柔性事务,所谓的柔性事务是遵循BASE理论来实现的事务模型,它有两个特性:基本可用、柔性状态,下面我们主要基于柔性事务模型来分析互联网产品中分布式事务的常见解决方案。 TCC补偿型方案 TCC (Try-Confirm-Cancel)是一种比较成熟的分布式数据一致性解决方案,它实际上是把一个完整的业务拆分为如下三个步骤原创 2020-06-03 20:31:55 · 2995 阅读 · 1 评论 -
分布式事务 - 理论模型
提到事务,很多人第一时间想到的是数据库的事务。所谓的数据库事务是指作为单个逻辑工作单元执行的多个数据库操作,要么同时成功,要么同时失败,它必须满足ACID特性,即: 原子性(Atomicity):事务必须是原子工作单元,不可继续分割,要么全部成功,要么全部失败。 一致性(Consistency):事务完成时,所有的数据必须都保持一致。 隔离性(Isolation):由并发事务所做的修改必须与任何其他并发事务所做的修改隔离。 持久性(Durability):事务执行完成之后,它对于系统的影响是永久性的。原创 2020-06-02 21:53:45 · 390 阅读 · 0 评论