Microservices, Eventual Consistency, Two Phase Commit, Distributed Transaction.
The key problems we would face are: How do we keep the transaction atomic? Atomicity means that in a transaction either all steps are completed or no step is completed. In the example above, if the ‘reserve items’ in the InventoryMicroservice method fails, how do we roll back the ‘process order’