70 lines
1.5 KiB
Markdown
70 lines
1.5 KiB
Markdown
# ADR 0017 — Adapter-Fehlerresilienz
|
|
|
|
## Status
|
|
Accepted
|
|
|
|
## Kurz erklärt
|
|
Adapter verbinden Hosting-Backoffice mit externen Systemen.
|
|
|
|
Fehlerresilienz bedeutet:
|
|
|
|
```text
|
|
Das System darf nicht kaputt gehen,
|
|
nur weil ein externer Anbieter gerade nicht erreichbar ist.
|
|
```
|
|
|
|
## Kontext
|
|
Integrationen zu KeyHelp, 1blu, Lexware und Invoice Ninja sind geschäftskritisch.
|
|
|
|
Das Architekturreview hat fehlende Retry-, Backoff- und Reconciliation-Strategien bemängelt.
|
|
|
|
## Entscheidung
|
|
Alle Integrationsmodule müssen ein gemeinsames Fehlerverhalten unterstützen.
|
|
|
|
## Pflichtmechanismen
|
|
|
|
- Retry
|
|
- Backoff
|
|
- Dead Letter Queue
|
|
- Reconciliation
|
|
- sichtbarer Job-Status
|
|
- Audit-Log bei kritischen Fehlern
|
|
|
|
## Begriffe
|
|
|
|
### Retry
|
|
Ein fehlgeschlagener Vorgang wird erneut versucht.
|
|
|
|
### Backoff
|
|
Wiederholungen erfolgen mit zunehmender Wartezeit.
|
|
|
|
### Dead Letter Queue
|
|
Fehlgeschlagene Jobs werden gesammelt, damit ein Admin sie prüfen kann.
|
|
|
|
### Reconciliation
|
|
Abgleich zwischen internem System und externem Anbieter, um Abweichungen zu erkennen.
|
|
|
|
## Beispiel
|
|
Wenn Lexware nicht erreichbar ist:
|
|
|
|
- Job schlägt nicht still fehl
|
|
- System versucht später erneut
|
|
- Admin sieht den Fehler
|
|
- Daten bleiben nachvollziehbar
|
|
|
|
## Konsequenzen
|
|
|
|
### Positiv
|
|
- stabilere Integrationen
|
|
- weniger stille Fehler
|
|
- bessere Admin-Kontrolle
|
|
|
|
### Negativ
|
|
- mehr Implementierungsaufwand
|
|
- Job-System erforderlich
|
|
- Monitoring wird wichtiger
|
|
|
|
## Verwandte ADRs
|
|
- ADR 0008 — External-Reference-Pattern
|
|
- ADR 0010 — Secrets-Management
|