The overall system is shown below:
There is currently a distributed transaction (i.e., transaction 1 and transaction 2), and System A is the initiator of this distributed transaction.
- For MQ distributed transactions
- For remote invocation
By comparing the two methods mentioned above, it can be observed that both can achieve distributed transactions to some extent. So why do we still need MQ distributed transactions? This is because MQ distributed transactions are executed asynchronously and have a higher throughput.