Seata调用问题之全局异常捕获没法回滚如何解决

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: Seata是一款开源的分布式事务解决方案,旨在提供高效且无缝的分布式事务服务;在集成和使用Seata过程中,开发者可能会遇到不同的异常问题,本合集针对Seata常见异常进行系统整理,为开发者提供详细的问题分析和解决方案,助力高效解决分布式事务中的难题。

问题一:Seata中fegin调用,项目中有全局异常捕获没法回滚。有什么好的解决方案吗?


Seata中fegin调用,项目中有全局异常捕获没法回滚。有什么好的解决方案吗?


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/439476?spm=5176.21213303.J_qCOwPWspKEuWcmp8qiZNQ.436.6bb82f3dSLrB4q&scm=20140722.S_community@@%E9%97%AE%E7%AD%94@@439476._.ID_439476-RL_seata%E5%BC%82%E5%B8%B8-LOC_search~UND~community~UND~item-OR_ser-V_3-P0_36

问题二:Seata中插入后在模拟异常打了断点,update这条插入的数据事务就无法正确回滚,这是什么原因呀?


Seata中seata版本:v1.4.0,插入后在模拟异常打了断点(还未执行异常),但是在数据库能看到这条记录,然后通过另一个接口update这条插入的数据,事务就无法正确回滚,这是什么原因呀?


参考回答:

检查事务xid传递,和你自己本地事务是否生效。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/469487?spm=5176.21213303.J_qCOwPWspKEuWcmp8qiZNQ.441.6bb82f3dSLrB4q&scm=20140722.S_community@@%E9%97%AE%E7%AD%94@@469487._.ID_469487-RL_seata%E5%BC%82%E5%B8%B8-LOC_search~UND~community~UND~item-OR_ser-V_3-P0_37


问题三:Seata中通过feign去扣减商品库存,回到订单服务后抛出异常。是还有哪些东西需要注意的吗?


Seata中通过feign去扣减商品库存,回到订单服务后抛出异常。订单的数据回滚了,但是商品服务的数据没有回滚,是还有哪些东西需要注意的吗?


参考回答:

没有。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/468721?spm=5176.21213303.J_qCOwPWspKEuWcmp8qiZNQ.446.6bb82f3dSLrB4q&scm=20140722.S_community@@%E9%97%AE%E7%AD%94@@468721._.ID_468721-RL_seata%E5%BC%82%E5%B8%B8-LOC_search~UND~community~UND~item-OR_ser-V_3-P0_38


问题四:在seata发起分支提交获取分支提交结果的时候,报了一个异常,导致分支没被移除是怎么回事呀?


在seata发起分支提交获取分支提交结果的时候,报了一个异常,导致分支没被移除(这时候其实rm二阶段提交成功了),这时候定时器handleRetryCommitting,就扫描到还存在globalSession,然后继续doGlobalCommit,然后就出现xaer-nota的情况了,是怎么回事呀?


参考回答:

你看你日志输出时间点,还有如果你client当时打着断点去看很可能链接是断开,tc拿不到status就重试了,不过不影响一致性,只是不断下发一个不存在的事务提交,60秒后就直接全局事务提交了。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/470831?spm=5176.21213303.J_qCOwPWspKEuWcmp8qiZNQ.451.6bb82f3dSLrB4q&scm=20140722.S_community@@%E9%97%AE%E7%AD%94@@470831._.ID_470831-RL_seata%E5%BC%82%E5%B8%B8-LOC_search~UND~community~UND~item-OR_ser-V_3-P0_39


问题五:seata如果是服务a,调用服务b,服务b被调用后,服务a中发生异常,服务b相关操作会回滚吗?


seata如果是服务a,调用服务b,服务b被调用后,服务a中发生异常,服务b相关操作会回滚吗?服务a与服务b的相关方法上都需要添加@GlobalTransactional 注解对吗?


参考回答:

无论谁出异常,只要符合回滚条件,tm都会决议回滚。都可以加,一般是服务调用入口加,但是大多数情况下,服务a和服务b都可能作为服务调用入口,所以都加上肯定没问题。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/468746?spm=5176.21213303.J_qCOwPWspKEuWcmp8qiZNQ.476.6bb82f3dSLrB4q&scm=20140722.S_community@@%E9%97%AE%E7%AD%94@@468746._.ID_468746-RL_seata%E5%BC%82%E5%B8%B8-LOC_search~UND~community~UND~item-OR_ser-V_3-P0_40

相关文章
|
8月前
|
Kubernetes Cloud Native Java
Seata常见问题之回滚一直在重试如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
|
8月前
|
SQL Oracle 关系型数据库
seata版本问题之码云拉取代码异常如何解决
Seata是一款开源的分布式事务解决方案,旨在提供高效且无缝的分布式事务服务;在集成和使用Seata过程中,开发者可能会遇到不同的异常问题,本合集针对Seata常见异常进行系统整理,为开发者提供详细的问题分析和解决方案,助力高效解决分布式事务中的难题。
285 6
|
8月前
|
监控 数据库
在Seata中一张表使用了联合主键,在事务回滚时报异常,改为单个主键,就没有这个异常,如何解决?
在Seata中一张表使用了联合主键,在事务回滚时报异常,改为单个主键,就没有这个异常,如何解决?
|
7月前
|
Apache 开发者
Apache Seata 如何解决 TCC 模式的幂等、悬挂和空回滚问题
【6月更文挑战第8天】Apache Seata 是一款分布式事务框架,解决TCC模式下的幂等、悬挂和空回滚问题。通过记录事务状态处理幂等,设置超时机制避免悬挂,明确标记Try操作成功来处理空回滚。Seata 提供丰富配置和管理功能,确保分布式事务的可靠性和效率,支持复杂事务处理场景,为企业业务发展提供支持。
253 7
|
8月前
|
Oracle 安全 Java
Seata常见问题之启动seata一直报空指针异常如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
|
2月前
|
Java 数据库
在Java中使用Seata框架实现分布式事务的详细步骤
通过以上步骤,利用 Seata 框架可以实现较为简单的分布式事务处理。在实际应用中,还需要根据具体业务需求进行更详细的配置和处理。同时,要注意处理各种异常情况,以确保分布式事务的正确执行。
|
4天前
|
Java 关系型数据库 数据库
微服务SpringCloud分布式事务之Seata
SpringCloud+SpringCloudAlibaba的Seata实现分布式事务,步骤超详细,附带视频教程
17 1
|
29天前
|
消息中间件 SQL 中间件
大厂都在用的分布式事务方案,Seata+RocketMQ带你打破10万QPS瓶颈
分布式事务涉及跨多个数据库或服务的操作,确保数据一致性。本地事务通过数据库直接支持ACID特性,而分布式事务则需解决跨服务协调难、高并发压力及性能与一致性权衡等问题。常见的解决方案包括两阶段提交(2PC)、Seata提供的AT和TCC模式、以及基于消息队列的最终一致性方案。这些方法各有优劣,适用于不同业务场景,选择合适的方案需综合考虑业务需求、系统规模和技术团队能力。
197 7
|
2月前
|
存储 Java 关系型数据库
在Spring Boot中整合Seata框架实现分布式事务
可以在 Spring Boot 中成功整合 Seata 框架,实现分布式事务的管理和处理。在实际应用中,还需要根据具体的业务需求和技术架构进行进一步的优化和调整。同时,要注意处理各种可能出现的问题,以保障分布式事务的顺利执行。
89 6
|
2月前
|
数据库
如何在Seata框架中配置分布式事务的隔离级别?
总的来说,配置分布式事务的隔离级别是实现分布式事务管理的重要环节之一,需要认真对待和仔细调整,以满足业务的需求和性能要求。你还可以进一步深入研究和实践 Seata 框架的配置和使用,以更好地应对各种分布式事务场景的挑战。
49 6

热门文章

最新文章