调用方使用“复杂接口”与“是否使用事务”

问题

“底层能力接口比较复杂,涉及到多个表的更新操作以及外部rpc的接口调用,并且部分接口使用了事务,支持回滚。”

上面这种接口直接对外提供rpc接口是没问题的,因为内部已经保证了数据的一致性;

但是如果直接提供给其他serviceA方法调用(非rpc调用),serviceA调用方是否使用事务,会发生不同的情况。

建议解决方式(调用方角度)

1、serviceA调用底层接口时,以rpc方式调用底层接口,防止serviceA事务对底层的影响

2、Propagation事务传播机制方式处理?待定,需要根据底层接口具体情况分析,并且如果底层接口被其他人修改很有可能导致新的问题

 

posted @ 2024-04-07 20:14  使用D  阅读(5)  评论(0编辑  收藏  举报