Anti-pattern: consentire un backend lento

Stai visualizzando la documentazione relativa a Apigee e Apigee ibrido.
Visualizza la documentazione di Apigee Edge.

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

Qualsiasi richiesta API instradata tramite la piattaforma Apigee attraversa 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 Apigee.
  • Viene elaborato all'interno del gateway. Nell'ambito di questa elaborazione, la richiesta passa a una serie di componenti distribuiti.
  • Il gateway quindi instrada la richiesta al backend che risponde alla richiesta.
  • La risposta dal backend ritorna quindi al client invertendo l'esatto percorso inverso tramite il gateway Apigee.

Da definire

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

Antipattern

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

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

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

    Molte volte i sistemi di backend non sono preparati per questa richiesta aggiuntiva nei loro servizi e, di conseguenza, sono troppo piccoli o non sono ottimizzati per una risposta efficiente.

    Il problema di un backend di "dimensioni non adeguate" è che, in caso di picco nelle richieste API, si sottopongono risorse come CPU, carico e memoria ai sistemi di backend. In questo modo, le richieste API non andrebbero a buon fine.

    Backend lento

    Il problema di un backend non ottimizzato è che sarebbe molto lento rispondere alle richieste in arrivo, con conseguente aumento delle latenze, timeout prematuri e una compromissione dell'esperienza cliente.

    La piattaforma Apigee offre alcune opzioni ottimizzabili per aggirare e gestire il backend lento. Queste opzioni hanno però dei limiti.

    Impatto

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

    Best practice

    • Utilizza la memorizzazione nella cache per archiviare le risposte al fine di migliorare i tempi di risposta dell'API e ridurre il carico sul server di backend.
    • Risolvi il problema di fondo dei server di backend lenti.

    Per approfondire