Antipattern: definire più ProxyEndpoint in un proxy API

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
info

La configurazione di ProxyEndpoint definisce il modo in cui le app client utilizzano le API tramite Apigee Edge. ProxyEndpoint definisce l'URL del proxy API e il comportamento di un proxy: quali criteri applicare e a quali endpoint target instradare, nonché le condizioni che devono essere soddisfatte per l'esecuzione di questi criteri o delle regole di instradamento.

In breve, la configurazione di ProxyEndpoint definisce tutto ciò che deve essere fatto per implementare un'API.

Antipattern

Un proxy API può avere uno o più endpoint proxy. La definizione di più ProxyEndpoint è un meccanismo semplice per implementare più API in un unico proxy. In questo modo, puoi riutilizzare i criteri e/o la logica di business prima e dopo l'invocazione di un endpoint di destinazione.

D'altra parte, quando definisci più ProxyEndpoint in un singolo proxy API, finisci per combinare concettualmente molte API non correlate in un unico artefatto. Ciò rende i proxy API più difficili da leggere, comprendere, eseguire il debug e gestire. Ciò va contro la filosofia principale dei proxy API: semplificare la creazione e la gestione delle API da parte degli sviluppatori.

Impatto

Più ProxyEndpoint in un proxy API possono:

  • Rendere difficile per gli sviluppatori comprendere e gestire il proxy API.
  • Offuscare i dati e le analisi. Per impostazione predefinita, i dati di analisi vengono aggregati a livello di proxy. Non è prevista una suddivisione delle metriche per endpoint proxy, a meno che non crei report personalizzati.
  • Rendere difficile la risoluzione dei problemi relativi ai proxy API.

Best practice

Quando implementi un nuovo proxy API o ne ridisegni uno esistente, segui le seguenti best practice:

  1. Implementa un proxy API con un singolo ProxyEndpoint.
  2. Se sono presenti più API che condividono un server di destinazione comune e/o richiedono la stessa logica prima o dopo l'invocazione del server di destinazione, valuta la possibilità di utilizzare flussi condivisi per implementare questa logica in proxy API diversi.
  3. Se sono presenti più API che condividono un percorso base iniziale comune, ma differiscono nel suffisso, utilizza flussi condizionali in un singolo ProxyEndpoint.
  4. Se esiste un proxy API con più ProxyEndpoint e non ci sono problemi, non è necessario intervenire.

L'utilizzo di un ProxyEndpoint per proxy API comporta:

  1. Proxy più semplici e facili da gestire
  2. In Analytics verranno riportate informazioni più dettagliate, come il rendimento del proxy e il tempo di risposta del target, invece di essere raggruppate per tutti i ProxyEndpoints.
  3. Risoluzione più rapida dei problemi

Per approfondire