Antipattern: consentire un backend lento

Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.

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 instradata tramite la piattaforma Apigee 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 Apigee.
  • 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 Apigee e torna al client.

Da definire

In effetti, le prestazioni delle richieste API inoltrate tramite Apigee dipendono sia da Apigee 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 Apigee 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