SysteemarchitectuurDevOps / Architect

Leg het doel en de principes van API Gateway uit in moderne architectuur.

Slaag voor sollicitatiegesprekken met de Hintsage AI-assistent

Antwoord.

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:

  • Gecentraliseerde authenticatie, monitoring en logging
  • Maakt het mogelijk om nieuwe services toe te voegen zonder wijzigingen aan de client
  • Beheert flexibel de routering en versiebeheer van API's

Vragen met een valstrik.

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