Part 1 focused on choosing between synchronous and asynchronous communication based on business contract. Part 2 focuses on what happens after that initial choice, when retries, timeouts, duplicate delivery, and ambiguous outcomes start showing up in production.
This is where many seemingly reasonable designs break. A synchronous call that was fine at low traffic beco...