Synchrone Kommunikation blockiert den Aufrufer, bis eine Antwort ankommt; asynchrone Kommunikation sendet eine Nachricht und läuft weiter, ohne zu warten. Jede schafft unterschiedliche Kompromisse bei Kopplung, Latenz und Ausfallsicherheit.
Synchrone Kommunikation blockiert den Aufrufer, bis eine Antwort ankommt; asynchrone Kommunikation sendet eine Nachricht und läuft weiter, ohne zu warten. Jede schafft unterschiedliche Kompromisse bei Kopplung, Latenz und Ausfallsicherheit.
| Aspekt | Synchron (REST/gRPC) | Asynchron (messaging) |
|---|
| Wartet der Aufrufer? | Ja | Nein |
| Zeitliche Kopplung | Eng | Lose |
| Ausfallsicherheit | Niedrig | Hoch (Broker puffert) |
| Konsistenz | Sofortig | Eventual |
| Komplexität | Niedriger | Höher |
| Debuggbarkeit | Einfacher (linear) | Schwieriger (Flows) |
SYNC: Caller ──request──▶ Service
Caller ◀─response── Service (blocked the whole time)
ASYNC: Caller ──message──▶ [ Queue ] ──▶ Service
Caller continues immediately; Service handles it later
Asynchron verbirgt Fehler — eine verlorene oder giftige Nachricht kann einen Workflow stillschweigend unterbrechen. Sie benötigen Dead-Letter Queues und Monitoring.
Die Wahl steuert direkt, wie sich Fehler ausbreiten: Synchrone Aufrufe schlagen schnell und sichtbar fehl, asynchrone Nachrichten entkoppeln, verschieben Probleme aber zu den Consumern.
Beide gut zu mischen — sync an der Edge, async für Workflows — ist eine Kernkompetenz beim Aufbau resilieneter Microservices.