多数据源问题
感觉框架改动了,应用上没法感知,只有使用过程中发现问题才能去发现。



上午的这个问题是因为多数据源 事务的问题引起的,在不引入其他组件的情况下,在1.0下也是会存在这个问题(我已在菱信的项目中尝试了),只不过在1.0下我们这种写法或使用场景比较少没有发现;现阶段只能尽量避免这种使用方式,因为本身这种使用方式有点问题(就是需要知道@Transactional作用于哪个数据源,默认的作用范围为默认数据源);另外正常来说的话,一个微服务只会操作(插入、更新、删除)一个数据源,其他的数据源只有查询
现阶段如果上线很急的话,在保证功能不报错的前提下,可以先把@Transactional注释,后续再改使用方式
我了解到的情况是,如果使用atomikos,性能会受到影响
可以先评估下,看看去掉@Transactional是否可以满足要求,我看代码提交记录,framework 是没有动过多数据源源这一块的内容,是否为其他模块引起的,我也不确定

多数据源 事务问题后端的同事需要注意下,比如我在一个服务中既要更新A库中的数据,还要更新B库中的数据,且还需要使用@Transactional注解的话,一定要记得不要把两个更新的代码写在一个方法中,在不引入其他组件的情况下,以下截图这种写法是会报错的

可以改成 ↓ , 可以改成这两种方式,但是这两种方式应该是没有办法同时回滚的



浙公网安备 33010602011771号