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 gestione delle API.

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

  • La richiesta ha origine 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 inoltrata a diversi componenti distribuiti.
  • Il gateway quindi indirizza la richiesta al backend che risponde alla richiesta.
  • La risposta dal backend percorre quindi il percorso inverso esatto tramite il gateway Apigee fino al client.

Da definire

In effetti, il rendimento delle richieste API instradate tramite Apigee dipende sia da Apigee che dai sistemi di backend. In questo antipattern, ci concentreremo sull'impatto sulle richieste API dovuto a sistemi di backend con prestazioni scarse.

Antipattern

Consideriamo il caso di un backend problematico. Ecco 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 aziendale, si tratta di una sfida auspicabile, ma che deve essere affrontata.

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

    Il problema con un backend "di dimensioni inadeguate" è che, se si verifica un picco di richieste API, le risorse come CPU, carico e memoria sui sistemi di backend vengono sollecitate. Ciò causerebbe alla fine il mancato funzionamento delle richieste API.

    Backend lento

    Il problema con un backend configurato in modo errato è che risponderebbe molto lentamente a qualsiasi richiesta, causando un aumento della latenza, timeout prematuri e un'esperienza cliente compromessa.

    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 inadeguate, 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 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