Antipattern: consentire un backend lento

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

I sistemi di backend eseguono i servizi a cui accedono i proxy API. In altre parole, sono il motivo fondamentale dell'esistenza stessa delle API e del livello del proxy di gestione delle API.

Qualsiasi richiesta API instradata tramite la piattaforma Edge percorre un percorso tipico prima di raggiungere il backend:

  • La richiesta proviene da un client, che può essere qualsiasi cosa, da un browser a un'app.
  • La richiesta viene quindi ricevuta dal gateway Edge.
  • Viene elaborata all'interno del gateway. Nell'ambito di questa elaborazione, la richiesta passa a un numero di componenti distribuiti.
  • Il gateway instrada quindi la richiesta al backend che risponde alla richiesta.
  • La risposta del backend percorre quindi il percorso inverso esatto tramite il gateway Edge fino al client.

In effetti, le prestazioni delle richieste API instradate tramite Edge dipendono sia da Edge sia dai sistemi di backend. In questo antipattern, ci concentreremo sull'impatto sulle richieste API dovuto a sistemi di backend con prestazioni scadenti.

Antipattern

Consideriamo il caso di un backend problematico. Ecco le possibilità:

  • Backend di dimensioni inadeguate
  • Backend lento
  • Backend di dimensioni inadeguate

    La difficoltà di esporre i servizi su questi sistemi di backend tramite le API è che sono accessibili a un numero elevato di utenti finali. Dal punto di vista aziendale, si tratta di una sfida auspicabile, ma che deve essere affrontata.

    Molte volte i sistemi di backend non sono preparati per questa domanda aggiuntiva sui loro servizi e di conseguenza sono di dimensioni insufficienti o non sono ottimizzati per una risposta efficiente.

    Il problema con un backend di "dimensioni inadeguate" è che, in caso di picco nelle richieste API, le risorse come CPU, carico e memoria sui sistemi di backend verranno sottoposte a stress. Alla fine, le richieste API non andranno a buon fine.

    Backend lento

    Il problema con un backend configurato in modo errato è che risponde molto lentamente a qualsiasi richiesta, con conseguente aumento della latenza, timeout prematuri e un'esperienza cliente compromessa.

    La piattaforma Edge offre alcune opzioni configurabili per aggirare e gestire il backend lento. Tuttavia, queste opzioni hanno limitazioni.

    Impatto

    • Nel caso di un backend di dimensioni inadeguate, l'aumento del traffico potrebbe comportare richieste non riuscite.
    • Nel caso di un backend lento, la latenza delle richieste aumenterà.

    Best practice

    • Utilizza la memorizzazione nella cache per archiviare le risposte, migliorare i tempi di risposta delle API e ridurre il carico sul il server di backend.
    • Risolvi il problema sottostante nei server di backend lenti.

    Per approfondire