Distributed transactions are implemented based on the JTA/XA specification.
two-phase commit
In Dubbo, you can use [seata](/zh-cn/blog/2019/01/17/How to use seata to ensure the consistency between dubbo microservices/) to complete the support for distributed transactions.