Synchronous — caller waits. Asynchronous — caller doesn't wait.
Synchronous:
Synchronous (REST):
Client → Request → Server
Client ← Response ← Server
(Client waits for response)
Asynchronous:
Asynchronous (Message Queue):
Producer → Message → Queue → Consumer
(Producer continues immediately)
Use Cases:
Key differences: