Antipattern: consenti un backend lento

Stai visualizzando la documentazione di Apigee X.
Visualizza la documentazione di Apigee Edge.

I sistemi di backend eseguono i servizi a cui hanno accesso i proxy API. In altre parole, sono il motivo 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 potrebbe essere di qualsiasi tipo, 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 instrada quindi la richiesta al backend che risponde alla richiesta.
  • La risposta dal backend torna indietro al percorso inverso esatto tramite il gateway Apigee al client.

Da definire

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

Antipattern

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

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

    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 commerciale, questa è una sfida auspicabile, ma che deve essere affrontata.

    Spesso i sistemi di backend non sono pronti per questa richiesta aggiuntiva sui loro servizi e di conseguenza sono sotto dimensione o non sono sintonizzati per una risposta efficiente.

    Il problema con un backend di "dimensioni inadeguate" è che, se si verifica un picco nelle richieste API, stresserà le risorse come CPU, carico e memoria sui sistemi di backend. Questo porterà a causare un errore nelle richieste API.

    Backend lento

    Il problema dell'ottimizzazione di un backend è che sarebbe molto lento rispondere a qualsiasi richiesta in arrivo, portando così a maggiori latenze, timeout prematuri e un'esperienza del cliente compromessa.

    La piattaforma Apigee offre alcune opzioni regolabili per aggirare e gestire il backend lento. Tuttavia, queste opzioni presentano limitazioni.

    Impatto

    • Nel caso di un backend di dimensioni inadeguate, 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 in modo da migliorare i tempi di risposta dell'API e ridurre il carico sul server di backend.
    • Risolvi il problema di base nei server di backend lento.

    Per approfondire