gateway
An API Gateway acts as a single entry point for clients accessing multiple backend microservices, handling requests, routing them to appropriate services, and a...
Ein [API-Gateway](/de/terms/api-gateway) ist ein Server, der als Eintrittspunkt für alle Client-Anfragen an Backend-Dienste fungiert. Es sitzt zwischen den Client-Anwendungen und den Microservices oder dem monolithischen Backend, abstrahiert die zugrunde liegende Architektur und vereinfacht die Client-Interaktionen. Die Hauptfunktionen eines API-Gateways umfassen Request-Routing, Request/Response-Transformation, Authentifizierung und Autorisierung, Ratenbegrenzung, Caching, Protokollierung und Überwachung. Durch die Zentralisierung dieser übergreifenden Belange (cross-cutting concerns) verhindert das Gateway, dass diese in mehreren Backend-Diensten dupliziert werden, was zu saubererem, besser wartbarem Code führt. Das Request-Routing leitet eingehende API-Aufrufe basierend auf dem Anfragepfad, den Headern oder anderen Kriterien an den entsprechenden Backend-Dienst weiter. Die Transformation ermöglicht es dem Gateway, Anfragen oder Antworten zu ändern, z. B. durch Ändern von Datenformaten (z. B. XML zu JSON) oder Aggregieren von Daten aus mehreren Diensten. Sicherheit ist ein kritischer Aspekt; das Gateway kann Authentifizierung (Überprüfung der Identität des Clients) und Autorisierung (Festlegung, ob der Client die Berechtigung zum Zugriff auf die angeforderte Ressource hat) übernehmen, oft durch Integration mit Identitätsanbietern oder Token-Validierungsdiensten. Ratenbegrenzung schützt Backend-Dienste davor, durch zu viele Anfragen überlastet zu werden, während Caching die Leistung verbessern kann, indem häufig angeforderte Daten direkt vom Gateway bereitgestellt werden. Dieses Architekturmuster ist besonders in Microservice-Architekturen verbreitet, wo es hilft, die Komplexität zahlreicher verteilter Dienste zu bewältigen.
graph LR
Center["gateway"]:::main
Rel_load_balancer["load-balancer"]:::related -.-> Center
click Rel_load_balancer "/terms/load-balancer"
Rel_internet_of_things_iot["internet-of-things-iot"]:::related -.-> Center
click Rel_internet_of_things_iot "/terms/internet-of-things-iot"
Rel_grid_computing["grid-computing"]:::related -.-> Center
click Rel_grid_computing "/terms/grid-computing"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Wissenstest
🧒 Erkläre es wie einem 5-Jährigen
Ein [[API](/de/terms/api)-Gateway](/de/terms/api-gateway) ist wie ein hilfreicher Empfangschef für ein großes Bürogebäude; er leitet Besucher (die Anfragen Ihrer App) zur richtigen Abteilung (Backend-Dienst) und stellt sicher, dass nur autorisierte Personen hineingelassen werden, ohne dass der Besucher den internen Aufbau kennen muss.
🤓 Expert Deep Dive
Das [API-Gateway](/de/terms/api-gateway)-Muster adressiert die Herausforderungen der Verwaltung verteilter Systeme, insbesondere von Microservices, indem es eine einzige, einheitliche Schnittstelle für Clients bereitstellt. Wichtige architektonische Überlegungen umfassen die Wahl zwischen einem zentralisierten Gateway (einzelner Eintrittspunkt) und dezentralen Gateways (pro Dienst oder pro Domäne). Zentralisierte Gateways vereinfachen Client-Interaktionen und erzwingen konsistente Richtlinien, können aber zu einem Engpass und einem Single Point of Failure werden. Dezentrale Gateways bieten bessere Skalierbarkeit und Fehlertoleranz, können aber zu Richtlinien-Duplizierung führen. Gängige Implementierungsmuster umfassen das Backend For Frontend (BFF)-Muster, bei dem spezialisierte Gateways die spezifischen Bedürfnisse verschiedener Client-Typen (z. B. mobil, Web) bedienen. Die Rolle des Gateways bei der Protokollübersetzung (z. B. REST zu gRPC) und der Anfrageaggregation ist entscheidend für die Entkopplung von Clients von der Weiterentwicklung des Backends. Leistungsauswirkungen ergeben sich aus dem zusätzlichen Netzwerk-Hop und dem Verarbeitungsaufwand, was effizientes Routing, Caching und möglicherweise asynchrone Verarbeitung erfordert. Die Durchsetzung von Sicherheitsrichtlinien auf Gateway-Ebene, wie z. B. JWT-Validierung oder OAuth 2.0-Token-Introspektion, ist eine kritische Sicherheitspraxis.