最近一直再写分布式相关的代码,发现分布式事务的问题是很多人困扰的问题。简述一下我所遇到的一些小问题吧,或者是大多数人遇到的问题。在微服务的调用层级的时候,发现下级代码报错,上层代码需要进行处理,那么我们应该怎么处理呢。
好了,我先说一下 我解决的思路吧:
调用下级服务的时候,try 一下,下级出错的时候 捕获异常,throw 出去,整体代码层进行回滚
当然这其中有需要注意点:1.事务的开启是再最上层,@Transactional 注解需要放在serviceImpl的入口,方法的最上面一层;
2.要想回滚就 throw Expetion
大概这就是最基础的事务回滚解决