Antipattern: consenti un backend lento

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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

I sistemi di backend eseguono i servizi a cui accedono i proxy 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 che raggiunga il backend:

  • La richiesta proviene da un client che potrebbe 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 un certo numero di componenti distribuiti.
  • Il gateway instrada quindi la richiesta al backend che risponde alla richiesta.
  • La risposta dal backend torna al percorso esatto inverso 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 dei sistemi di backend a scarso rendimento.

Antipattern

Considera il caso di un backend problematico. Ecco le possibilità:

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

    La difficoltà di esporre i servizi su questi sistemi di backend tramite le API è che siano accessibili a un numero elevato di utenti finali. Dal punto di vista commerciale, 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, di conseguenza, sono di dimensioni ridotte o non sono ottimizzati 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. In questo modo le richieste API potrebbero non riuscire.

    Backend lento

    Il problema con un backend sintonizzato in modo errato è molto lento per rispondere a qualsiasi richiesta in arrivo, con conseguente aumento delle 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.
    • Nel caso di un 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 sottostante nei server di backend lenti.

    Per approfondire