API-Nutzung
Leitprinzip für das strukturierte Verwenden externer und interner Schnittstellen in Anwendungen.
Klassifikation
- KomplexitätMittel
- AuswirkungTechnisch
- EntscheidungstypArchitektur
- OrganisationsreifeFortgeschritten
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Lecks von Zugangsdaten oder unsichere Authentifizierung.
- Unbehandelter Fehlerfall führt zu Kaskadeneffekten im System.
- Übermäßige synchrone Abhängigkeiten erhöhen Ausfallrisiko.
- Verträge formal (z. B. OpenAPI) pflegen und automatisiert testen.
- Kurzfristige Timeouts und exponentielle Backoffs konfigurieren.
- Telemetrie pro Endpoint erfassen (Latency, Errors, Throughput).
I/O & Ressourcen
- API‑Spezifikation oder Contract (z. B. OpenAPI)
- Authentifizierungs- und Autorisierungsinformationen
- Betriebs- und Monitoring‑Zugang
- Verbrauchte Daten und standardisierte DTOs
- Metriken, Logs und Traces
- Fehlerberichte und SLA‑Alerts
Beschreibung
API Consumption beschreibt das strukturierte Verwenden externer oder interner Schnittstellen durch Anwendungen und Dienste. Es umfasst Verträge, Authentifizierung, Rate‑Limits sowie Datentransformationen und Fehlerbehandlung. Sie ist zentral für Integrationsarchitekturen, Performance‑Optimierung und Sicherheitsstrategien.
✔Vorteile
- Erhöhte Wiederverwendbarkeit von Services und klarere Integrationsgrenzen.
- Bessere Fehlerisolierung und kontrollierbare Stabilität in verteilten Systemen.
- Ermöglicht Standardisierung, Monitoring und automatisierte Tests.
✖Limitationen
- Zusätzliche Latenz durch Netzwerkaufrufe und Serialisierung.
- Abhängigkeiten von Drittanbietern können Verfügbarkeit beeinflussen.
- Versionierungs‑ und Kompatibilitätsaufwand bei Schnittstellenänderungen.
Trade-offs
Metriken
- Fehlerrate (5xx/4xx)
Anteil fehlgeschlagener API‑Aufrufe bezogen auf Gesamtaufrufe.
- Latenz (P95, P99)
Antwortzeitverteilung zur Beurteilung von Performance‑SLAs.
- Durchsatz (Requests per Second)
Messung der verarbeiteten Aufrufe pro Zeiteinheit.
Beispiele & Implementierungen
GitHub API für Repositories
Konsumenten nutzen REST‑/GraphQL‑Schnittstellen zur Anzeige und Synchronisation von Repo‑Daten.
Stripe Payments Integration
Zahlungsabwicklung über externe API inklusive Webhooks, Idempotency und Sicherheitskonzept.
Internes CRM als API
Einheitliche CRM‑API wird von mehreren Frontends und Integrationen konsumiert, mit Versionierung und Zugangskontrollen.
Implementierungsschritte
Vertrag (Spec) definieren und veröffentlichen.
Client‑Adapter mit Timeouts, Retries und Circuit Breaker implementieren.
Monitoring, Metriken und Alerts integrieren.
Versionierungsstrategie und Migrationsplan aufsetzen.
⚠️ Technische Schulden & Engpässe
Tech Debt
- Ad‑hoc Integrationen ohne Contract‑Tests.
- Fehlende SDKs oder veraltete Client‑Bibliotheken.
- Unvollständige Telemetrie für kritische Aufrufe.
Bekannte Engpässe
Beispiele für Missbrauch
- Frontend ruft interne Microservices synchron in Serie statt Aggregation durch BFF.
- Kopieren sensibler API‑Credentials in Client‑Code.
- Verzicht auf Monitoring, dadurch unerkannten Ausfallrisiken.
Typische Fallen
- Fehlende Timeouts führen zu hängenden Ressourcen.
- Caching ohne Invalidierungsstrategie erzeugt veraltete Daten.
- Zu enge Kopplung an Provider‑spezifische Features.
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Netzwerklatenz und Bandbreitenbegrenzungen
- • Rechtliche Vorgaben zum Datenaustausch
- • Anbieter‑seitige Rate‑Limits und Kostenmodelle