Analisi di sistemaDevOps / Architetto

Spiega lo scopo e i principi di funzionamento dell'API Gateway nell'architettura moderna.

Supera i colloqui con l'assistente IA Hintsage

Risposta.

API Gateway è un servizio intermediario tra i client e i microservizi interni. Aggrega le chiamate, gestisce il routing, l'autenticazione, applica politiche di sicurezza e limitazione, e trasforma e proxy le richieste.

L'API Gateway è necessario per nascondere la struttura interna dei servizi dal mondo esterno e unificare le interazioni. Questo aiuta a ridurre la dipendenza, accelerare lo sviluppo dei frontend e garantire un controllo centralizzato sull'accesso e il logging.

Esempio di configurazione di nginx come semplice API Gateway:

server { listen 80; location /user/ { proxy_pass http://localhost:8081/; } location /order/ { proxy_pass http://localhost:8082/; } }

Caratteristiche chiave:

  • Autenticazione centralizzata, monitoraggio e logging
  • Consente di aggiungere nuovi servizi senza modifiche sul client
  • Gestisce in modo flessibile il routing e la versioning delle API

Domande trabocchetto.

Un servizio può chiamare un altro bypassando l'API Gateway?

I servizi interni possono utilizzare chiamate dirette per scenari privati, ma per i client esterni l'API Gateway è il principale modo di accesso.

L'API Gateway è un Single Point of Failure?

Sì, se non si configura il clustering e il bilanciamento. È importante eseguire più istanze e utilizzare un bilanciatore.

L'API Gateway può memorizzare le risposte nella cache?

Sì, i gateway avanzati possono memorizzare nella cache le richieste GET, riducendo il carico sui servizi e accelerando la restituzione dei dati. Esempio di configurazione della cache in Kong:

plugins: - name: proxy-cache config: strategy: memory content_type: [application/json] cache_ttl: 300