API Gateway — een tussenliggende service tussen clients en interne microservices. Het aggregeert aanvragen, beheert routering, autorisatie, past beveiligings- en limietbeleid toe, en transformeert en proxy's aanvragen.
API Gateway is nodig om de interne structuur van services voor de externe wereld te verbergen en de interactie te uniformiseren. Dit helpt om de koppeling te verminderen, de ontwikkeling van frontends te versnellen en gecentraliseerde controle over toegang en logging te waarborgen.
Voorbeeld van configuratie van nginx als de eenvoudigste API Gateway:
server { listen 80; location /user/ { proxy_pass http://localhost:8081/; } location /order/ { proxy_pass http://localhost:8082/; } }
Belangrijke kenmerken:
Kan één service een andere aanspreken zonder API Gateway?
Interne services kunnen directe aanroepen gebruiken voor privé-scenario's, maar voor externe clients is API Gateway de belangrijkste toegangsmethode.
Is API Gateway een Single Point of Failure?
Ja, tenzij clustering en load balancing zijn ingesteld. Het is belangrijk om meerdere instanties te draaien en een load balancer te gebruiken.
Kan API Gateway antwoorden cachen?
Ja, geavanceerde gateways kunnen GET-aanvragen cachen, wat de belasting op services vermindert en de gegevensoverdracht versnelt. Voorbeeld van cache-instelling in Kong:
plugins: - name: proxy-cache config: strategy: memory content_type: [application/json] cache_ttl: 300