Antipattern: definire più ProxyEndpoint in un proxy API

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

La configurazione di ProxyEndpoint definisce il modo in cui le app client utilizzano le API tramite Apigee. ProxyEndpoint definisce l'URL del proxy API e il comportamento di un proxy: quali policy applicare e a quali endpoint di destinazione eseguire il routing, nonché le condizioni che devono essere soddisfatte per l'esecuzione di queste policy o regole di routing.

In breve, la configurazione 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 e facile per implementare più API in un unico proxy. In questo modo, puoi riutilizzare le policy e/o la logica di business prima e dopo l'invocazione di un TargetEndpoint.

D'altra parte, quando definisci più ProxyEndpoint in un singolo proxy API, finisci per combinare concettualmente molte API non correlate in un unico artefatto. Rende i proxy API più difficili da leggere, comprendere, eseguire il debug e gestire. In questo modo viene meno la filosofia principale dei proxy API: semplificare la creazione e la gestione delle API per gli sviluppatori.

Impatto

Più ProxyEndpoint in un proxy API possono:

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

Best practice

Quando implementi un nuovo proxy API o riprogetti un proxy API esistente, utilizza le seguenti best practice:

  1. Implementa un proxy API con un singolo ProxyEndpoint.
  2. Se esistono più API che condividono lo stesso server di destinazione 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 esistono più API che condividono un percorso di 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. Informazioni migliori in Analytics, come il rendimento del proxy e il tempo di risposta target, verranno registrate separatamente anziché essere aggregate per tutti i ProxyEndpoint
  3. Risoluzione dei problemi più rapida

Per approfondire