GitHub user funky-eyes added a comment to the discussion: 
同一个服务多数据源操作,针对同一个数据源的分支事务进行合并

I believe this scenario, where a single service has multiple data sources all 
managed by Seata in XA mode, is a valid one. The challenge is that once an XA 
transaction is in the 'prepare' phase, it cannot be re-entered. This means 
Seata cannot support business logic that involves multiple modifications to the 
same resource within that transaction.

Therefore, I think we could potentially offer a multi-datasource transaction 
solution. This solution could use either XA or AT mode at its core. 
Importantly, it would support connection reuse within the multi-datasource 
transaction. This would allow for resource re-entry and also prevent the 
creation of multiple branch transactions.

This idea is somewhat similar to the multi-datasource transaction functionality 
I contributed to the dynamic-datasource project (referenced in 
@baomidou/dynamic-datasource/pull/316). Of course, that particular 
implementation doesn't use Seata XA or AT mode underneath, so it doesn't 
guarantee strong consistency."

GitHub link: 
https://github.com/apache/incubator-seata/discussions/7357#discussioncomment-13231919

----
This is an automatically sent email for dev@seata.apache.org.
To unsubscribe, please send an email to: dev-unsubscr...@seata.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@seata.apache.org
For additional commands, e-mail: dev-h...@seata.apache.org

Reply via email to