seata Saga模式的service如果是个远程服务不需要传递BranchType吗

dba5bblo  于 22天前  发布在  其他
关注(0)|答案(3)|浏览(17)

假如Saga中的一个服务是Fegin远程调用,在拦截器里并没有把分支类型传递给下游的Seata服务,这样的话,下游在有xid的情况下,默认会是AT模式或者XA模式,在操作数据库时就走了一系列的AT流程,感觉这样会有问题,也拖慢了saga模式的性能

jfewjypa

jfewjypa1#

我理解只要数据源被AT/XA代理就会存在这个问题,TCC应该也是如此吧。

h9a6wy2h

h9a6wy2h2#

我理解只要数据源被AT/XA代理就会存在这个问题,TCC应该也是如此吧。

是的,但是TCC有@LocalTCC注解才会走TCC的拦截器,用户理论上是可以避开的,但是AT模式只要依赖了seata,开启了数据源自动代理就会有这个问题

tkqqtvp1

tkqqtvp13#

The TCC branch transaction passes the branch type to the provider. The Saga mode does have the problem that branch type parameters are not passed.

相关问题