首页 > 其他分享 >Seata系列之(一)分布式事务问题

Seata系列之(一)分布式事务问题

时间:2024-02-28 11:24:44浏览次数:25  
标签:事务 服务 Seata 数据源 全局 分布式

分布式事务问题

用户购买商品的业务逻辑。整个业务逻辑由3个微服务提供支持:

  • 仓储服务:对始定的商品扣除仓储数量。

  • 订单服务:根据采购需创建订单。

  • 帐户服务∶从用户帐户中扣除余额。

​ 单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源,业务操作需要调用三个服务来完成。此时每个服务内部的数据一致性由本地事务来保证,但是全局的数据—致性问题没法保证

总结:一次业务操作需要跨多个数据源或需要跨多个系统进行远程调用,就会产生分布式事务问题

涉及到全局跨数据库的统一调度

保证全局的数据一致性

标签:事务,服务,Seata,数据源,全局,分布式
From: https://www.cnblogs.com/wzzzj/p/18039385

相关文章

  • SpringCloud系列之(十二)SpringCloud Sleuth分布式请求链路追踪
    SpringCloudSleuth分布式请求链路追踪一、概述1.应用场景​ 在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前端请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请......
  • Spring系列之(十)Spring的事务控制
    Spring的事务控制1.Spring中基于XML的声明式事务控制配置步骤配置事务管理器<beanclass="org.springframework.jdbc.datasource.DataSourceTransactionManager"id="transactionManager"><propertyname="dataSource"ref="dataSource">......
  • Redis加Lua脚本实现分布式锁
    先讲一下为什么使用分布式锁:在传统的单体应用中,我们可以使用Java并发处理相关的API(如ReentrantLock或synchronized)来实现对共享资源的互斥控制,确保在高并发情况下同一时间只有一个线程能够执行特定方法。然而,随着业务的发展,单体应用逐渐演化为分布式系统,多线程、多进程分布在不同......
  • seata面试题
    1、请介绍一下你对SEATA的理解以及你对分布式事务的看法SEATA是一个开源的分布式事务解决方案,它旨在解决分布式系统中的数据一致性问题。我理解的分布式事务是指涉及多个服务或数据库的操作,需要保证这些操作要么全部成功,要么全部失败,以确保数据的一致性。在传统的单体应用中,可......
  • 【进阶篇】使用 Redis 实现分布式缓存的全过程思考(一)
    目录前言一、关于缓存二、基本数据结构三、缓存注解3.1自定义注解3.2定义切点(拦截器)3.3AOP实现3.4使用示例四、数据一致性4.1缓存更新策略4.2缓存读写过程五、高可用5.1缓存穿透5.2缓存击穿5.3缓存雪崩5.4Redis集群六、文章小结前言写在前面,让我们从3个问题开始今天的文章:......
  • 13.分布式事件总线DotNetCore.CAP的简单使用
    DotNetCore.CAP框架提供了一个简单易用的API和多种消息传输协议支持(包括Redis、RabbitMQ等),可以让用户轻松地实现消息队列、事件发布/订阅、分布式事务等功能。它还具备自动重试、异常处理、数据序列化等高级特性,可以保证消息的可靠性和一致性。使用DotNetCore.CAP框架,你可以:1.......
  • sqlserver 数据库事务ACID和使用 数据库锁,悲观锁乐观锁死锁
    在SQLServer中,事务的ACID属性、数据库锁、悲观锁、乐观锁和死锁是数据库管理和设计中的重要概念。以下是对这些概念的详细解释以及如何在SQLServer中使用它们:1.ACID属性在SQLServer中,事务必须满足ACID属性,以确保数据的一致性和可靠性。原子性(Atomicity):......
  • C#和sqlserver 如何实现 事务ACID和使用 数据库锁,悲观锁乐观锁死锁
    在C#中使用SQLServer实现事务的ACID(原子性、一致性、隔离性、持久性)属性和使用数据库锁(悲观锁和乐观锁)时,你可以通过ADO.NET的SqlConnection和SqlTransaction类来实现。下面是一些示例和概念说明。实现ACID事务ACID属性是事务处理的四个基本特征,它们确保事务在数据库中的正确......
  • 分布式事务
    分布式事务1.基础概念1.1什么是事务事务可以看做是一次大的活动,它由不同的小活动组成,这些活动要么全部成功,要么全部失败。1.2本地事务​在计算机系统中,更多的是通过关系型数据库来控制事务,这是利用数据库本身的事务特性来实现的,因此叫数据库事务,由于应用主要靠关系数据库......
  • springCloud整合seata
    Seata作为分布式事务解决方案,致力于提供高性能简单易用的分布式服务。Seata提供了AT、TCC、SAGA、XA事务模式,此处介绍的是AT模式。传统的单体应用中,通常本地数据库(@Transactional)保证一致性和完整性,而分布式环境中,多个服务进行跨数据库操作,此时本地事务无法保证全局事务一致性,这......