Antipattern: consentire un backend lento

Stai visualizzando la documentazione di Apigee Edge.
Vai alla 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 proxy di API Management.

Qualsiasi richiesta API inoltrata 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 Edge.
  • Viene elaborato all'interno del gateway. Nell'ambito di questa elaborazione, la richiesta viene passata a un numero di componenti distribuiti.
  • Il gateway instrada quindi la richiesta al backend che risponde.
  • La risposta del backend ripercorre quindi il percorso inverso esatto tramite il gateway Edge al client.

In effetti, le prestazioni delle richieste API inoltrate tramite Edge dipendono sia da Edge sia dai sistemi di backend. In questo antipattern, ci concentreremo sull'impatto sulle richieste API a causa del cattivo funzionamento dei sistemi di backend.

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 difficoltà nell'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, si tratta di una sfida auspicabile, ma che deve essere affrontata.

    Spesso i sistemi di backend non sono preparati a questa domanda aggiuntiva sui loro servizi e di conseguenza sono sottodimensionati o non sono ottimizzati per una risposta efficiente.

    Il problema di un backend "di dimensioni non adeguate" è che, in caso di picco delle richieste API, sollecita le risorse come CPU, carico e memoria sui sistemi di backend. Ciò causerebbe infine il fallimento delle richieste API.

    Backend lento

    Il problema di un backend non ottimizzato è che risponde molto lentamente a qualsiasi richiesta in arrivo, con conseguente aumento delle latenze, timeout prematuri e compromissione dell'esperienza del cliente.

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

    Impatto

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

    Best practice

    • Utilizza la memorizzazione nella cache per memorizzare 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 nei server di backend lenti.

    Per approfondire