Anti-Pattern: Mehrere ProxyEndpoints in einem API-Proxy definieren

Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an.
info

Die ProxyEndpoint-Konfiguration legt fest, wie Clientanwendungen die APIs über Apigee Edge nutzen. Der ProxyEndpoint definiert die URL des API-Proxys und wie sich ein Proxy verhält: Welche Richtlinien angewendet werden und welche Endpunkte zu der Route führen sollen, sowie die Bedingungen, die erfüllt werden müssen, damit diese Richtlinien oder Routingregeln ausgeführt werden.

Die ProxyEndpoint-Konfiguration definiert alle Aspekte, die zum Implementieren einer API erforderlich sind.

Anti-Pattern

Ein API-Proxy kann einen oder mehrere Proxy-Endpunkte haben. Das Definieren mehrerer ProxyEndpoints ist ein einfacher Mechanismus, um mehrere APIs in einem einzelnen Proxy zu implementieren. Auf diese Weise können Sie Richtlinien und/oder Geschäftslogik vor und nach dem Aufruf eines TargetEndpoint wiederverwenden.

Wenn Sie hingegen mehrere ProxyEndpoints in einem einzigen API-Proxy definieren, kombinieren Sie am Ende konzeptionell viele nicht miteinander verbundene APIs in einem einzigen Artefakt. Hierdurch sind die API-Proxys schwieriger zu lesen, zu verstehen, zu debuggen und zu verwalten. Dies konterkariert die Hauptphilosophie von API-Proxys: Entwicklern die Erstellung und Pflege von APIs zu erleichtern.

Auswirkungen

Mehrere ProxyEndpoints in einem API-Proxy können:

  • Es Entwicklern schwer machen, den API-Proxy zu verstehen und zu verwalten.
  • Analysen verschleiern. Standardmäßig werden Analysedaten auf Proxyebene zusammengefasst. Messwerte werden nicht nach Proxyendpunkten aufgeführt, es sei denn, Sie erstellen benutzerdefinierte Berichte.
  • Die Fehlerbehebung mit API-Proxys erschweren.

Best Practice

Wenn Sie einen neuen API-Proxy implementieren oder einen vorhandenen API-Proxy optimieren, verwenden Sie die folgenden Best Practices:

  1. Implementieren Sie einen API-Proxy mit einem einzelnen ProxyEndpoint.
  2. Wenn es mehrere APIs gibt, die einen gemeinsamen Zielserver nutzen und/oder dieselbe Logik vor oder nach dem Aufruf des Zielservers erfordern, sollten Sie die Verwendung freigegebener Abläufe in Betracht ziehen, um diese Logik in verschiedenen API-Proxys zu implementieren.
  3. Wenn mehrere APIs denselben gemeinsamen Basispfad haben, aber sich im Suffix unterscheiden, verwenden Sie bedingte Abläufe in einem einzelnen ProxyEndpoint.
  4. Wenn ein API-Proxy mit mehreren ProxyEndpoints vorhanden ist und keine Probleme auftreten, müssen Sie keine Maßnahmen ergreifen.

Die Verwendung eines ProxyEndpoint pro API-Proxy führt zu Folgendem:

  1. Proxies, die einfacher sind und leichter zu verwalten sind
  2. Präzisere Analytics-Informationen, wie z. B. Proxyleistung und Zielantwortzeit, werden separat gemeldet, anstatt für alle ProxyEndpoints auf einen Blick.
  3. Schnellere Fehlerbehebung und Problemlösung

Weitere Informationen