A classic:
Starbucks does not use two-phase commit
https://www.enterpriseintegrationpatterns.com/ramblings/18_s...
Starbucks does not use two-phase commit
https://www.enterpriseintegrationpatterns.com/ramblings/18_s...
If you can't rely on an actors intent to such a degree, your actions need to also be less costly to be efficient.
Correlated Ids and idempotent end points with retry is pretty much a two phase commit. Something eventually checks and deals with exceptions.
Accounting for loss and developing ways to operate with it make a process viable.