Antipattern: consenti un backend lento

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

I sistemi di backend eseguono i servizi a cui accedono i proxy API. In altre parole, sono la ragione fondamentale dell'esistenza stessa delle API e del livello API Management Proxy.

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

  • La richiesta proviene da un client, che può essere un browser o un'app.
  • La richiesta viene quindi ricevuta dal gateway perimetrale.
  • Viene elaborato all'interno del gateway. Nell'ambito di questa elaborazione, la richiesta passa a una serie di componenti distribuiti.
  • Quindi, instrada la richiesta al backend che risponde alla richiesta.
  • La risposta del backend torna quindi al client tramite il gateway perimetrale.

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

Antipattern

Prendiamo in considerazione il caso di un backend problematico. Ecco le possibilità:

  • Backend di dimensioni non adeguate
  • Backend lento
  • Backend di dimensioni non adeguate

    La sfida dell'esposizione dei servizi su questi sistemi di backend tramite le API è che sono accessibili a un gran numero di utenti finali. Dal punto di vista commerciale, questa è una sfida appetibile, ma qualcosa 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 ridotte o non sono ottimizzati per una risposta efficiente.

    Il problema con un backend "di dimensioni non adeguate" è che, in caso di un picco nelle richieste API, stresserà risorse come CPU, carico e memoria sui sistemi di backend. Alla fine, le richieste API non andrebbero a buon fine.

    Backend lento

    Il problema di un backend ottimizzato in modo errato è che sarebbe molto lento rispondere a qualsiasi richiesta in arrivo, il che comporta un aumento delle latenze, dei timeout prematuri e una compromissione dell'esperienza cliente.

    Edge Platform offre alcune opzioni sintonizzabili per aggirare e gestire il backend lento. Tuttavia, queste opzioni presentano dei limiti.

    Impatto

    • Nel caso di un backend di dimensioni non adeguate, l'aumento del traffico potrebbe portare a 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 dell'API e ridurre il carico sul server di backend.
    • Risolvi il problema sottostante nei server di backend lenti.

    Per approfondire