关于分布式事务的疑问

【产品名称】

OceanBase obproxy

【产品版本】

3.1.3CE

【问题描述】

开发环境:spring cloud alibaba + OceanBase +mysql驱动

create tenant obmysql 创建了obmysql租户,在该租户下创建了2个数据库create database order(微服务A-订单);create database storage(微服务B-库存);

微服务C调用A下订单写入order库,调用B减库存更改storage库,此时出现异常,ob会回滚吗?

经测试使用事务注解@Transactional(rollbackFor = Exception.class),出现异常并没有回滚;ob是不是只解决了单数据库实例分布式事务的问题?

此场景下的分布式事务是不是还得在微服务中使用类似GTS、seata中间件来解决

那肯定需要的,你这属于微服务间的分布式事务问题了。需要使用XA,SAGA,FMT这类模型解决了。