Informationen zu Umgebungen

Eine Umgebung stellt einen isolierten Kontext oder eine "Sandbox" zum Ausführen von API-Proxys bereit. Sie können pro Organisation mehrere Umgebungen erstellen. Weitere Informationen finden Sie unter Umgebungen und Umgebungsgruppen.

Im Rahmen einer einfachen Installation haben Sie zum Testen eine Umgebung hinzugefügt. Es wird jedoch empfohlen, mehrere Umgebungen zu erstellen und für jede eine begrenzte Anzahl von Proxys bereitzustellen.

Informationen zu virtuellen Hosts und Umgebungen

Apigee Hybrid verwendet Istio-Gateways für eingehenden Traffic, um eingehenden API-Traffic zu verarbeiten. Sowohl der MART- als auch der Laufzeitdienst sind beide mit Istio-Gateways für eingehenden Traffic konfiguriert, um die Verbindungen zu verwalten, die außerhalb des Clusters bereitgestellt werden. Damit werden beispielsweise alle HTTP- und HTTPS-Anfragen an einen API-Proxy zuerst von einem Istio-Gateway für eingehenden Traffic verarbeitet.

In Hybrid erstellen Sie eine oder mehrere Umgebungen und jeder Umgebung wird ein Host-Alias zugewiesen. Der Host-Alias ist ein DNS-Name. Eingehender Traffic zu diesem DNS-Namen wird vom Ingress an diese Umgebung weitergeleitet. Intern wird jede Umgebung jeweils nur einem einzigen Nachrichtenprozessor zugewiesen, der Proxyanfragen verarbeitet, Richtlinien anwendet und Traffic an und von Zieldiensten weiterleitet. Daher bestimmt der Host-Alias, welcher Nachrichtenprozessor eine bestimmte eingehende Anfrage empfängt.

Der folgende Code zeigt ein Beispiel für eine Konfiguration, wobei mehrere Umgebungen definiert werden. Solche Konfigurationen gehören zur Überschreibungsdatei. Beachten Sie, dass die Umgebungen dev1 und dev1 unterschiedliche Host-Aliasse haben:

envs:
  - name: dev1
    hostAlias: "apitest.mydomain.net"
    ...

  - name: prod1
    hostAlias: "apiprod.mydomain.net"
    ...

Angenommen, ein Proxy mit dem Basispfad /foo1 wird für die Umgebung dev1 bereitgestellt. Sie könnten den Proxy so aufrufen:

curl -k https://apitest.mydomain.net/foo1

Sobald dieser Aufruf Ingress erreicht, sendet Ingress ihn an den mit der dev1-Umgebung verknüpften Nachrichtenprozessor, der die Anfrage verarbeitet.

Ist foo1 auch in der prod1-Umgebung bereitgestellt, können Sie eine Proxyanfrage wie diese an den Host-Alias apiprod.mydomain.net erstellen:

curl -k https://apiprod.mydomain.net/foo1

Der Aufruf wird durch Ingress an den MP weitergeleitet, der diesem Host zugeordnet ist.

Zusammenfassung: Jeder Umgebung, die Sie erstellen, muss ein Host-Alias zugewiesen sein. Jede Umgebung ist einem und nur einem Nachrichtenprozessor zugeordnet. Der Host-Alias bestimmt, welcher Nachrichtenprozessor eine bestimmte Anfrage erhält.

Umgebungen können den gleichen Host-Alias haben

Mit Apigee Hybrid können Sie mehrere Umgebungen erstellen, die Sie beliebig verwalten können. Sie können beispielsweise mehrere Entwicklungsumgebungen, dev1, dev1, dev1 usw. erstellen und jeder einen einzelnen Host-Alias zuordnen. Außerdem können Sie mehrere Proxys in jeder Umgebung bereitstellen.

Antimuster: Stellen Sie alle Ihre Proxys in einer Hybridumgebung bereit.

Best Practice: Erstellen Sie mehrere Umgebungen und stellen Sie in jeder eine begrenzte Anzahl an Proxys bereit. Die Methode, mit der verwaltet wird, wie Hybrid Proxy-Aufrufe an die richtige Umgebung mit einem gemeinsamen Alias weiterleitet, wird als Basispfadrouting bezeichnet.

In der folgenden Konfiguration haben die Umgebungen dev1 und dev1 beispielsweise denselben Host-Alias:

envs:
  - name: dev1
    hostAlias: "apitest.mydomain.net"
    ...
  - name: dev2
    hostAlias: "apitest.mydomain.net"
    ...

Wenn mehrere Umgebungen denselben Host-Alias haben, müssen Sie die Konfigurationsmethode des Basispfad-Routing verwenden, um bestimmte Proxy-Basispfade bestimmten Umgebungen zuzuordnen. Weitere Informationen finden Sie unter Basispfad-Routing.

Anzahl der Proxy-Deployments begrenzen

Bei Hybridumgebungen können sich viele Umgebungen denselben virtuellen Host teilen. Daher müssen Sie sorgfältig festlegen, wie Sie Ihre Proxybereitstellungen in einer bestimmten Umgebung verwalten. In Hybridumgebungen wird empfohlen, mehrere Umgebungen zu erstellen und in jeder eine begrenzte Anzahl an Proxys bereitzustellen.

Wie viele Proxys sollten Sie in einer Umgebung bereitstellen? Es gibt keine feste Antwort auf diese Frage. Die folgende Tabelle enthält jedoch allgemeine Hinweise dazu, warum es sinnvoll ist, die Anzahl der in jeder Umgebung bereitgestellten Proxys zu begrenzen und was Sie bei der Verwaltung von Proxy-Bereitstellungen beachten müssen:

Zu berücksichtigendes Problem Beschreibung
Startzeit des Nachrichtenprozessors Es besteht ein direkter Zusammenhang zwischen der Zeitspanne, die für das Starten eines Nachrichtenprozessors (MP, Message Processor) erforderlich ist, und der Anzahl der auf diesem MP bereitgestellten Proxys. In Kubernetes-Umgebungen mit automatischer Skalierung kann eine Erhöhung der Startzeit zu Problemen führen. Je mehr Proxys auf einem MP bereitgestellt werden, desto länger dauert es, bis der MP bereit ist, falls er skaliert oder neu erstellt werden muss.
Skalierungsleistung Wenn Sie in einer Umgebung mehrere Proxys bereitgestellt haben und einer der Proxys viel Traffic empfängt, wird er häufig automatisch skaliert. Dies führt dazu, dass auch alle anderen Proxys in dieser Umgebung mit skaliert werden. Die Leistungseinbußen aufgrund der Skalierung mehrerer Proxys aufgrund eines einzelnen Proxy mit hohem Traffic können ein Problem darstellen.
Problemnachbarn Wenn Sie mehrere Proxys in derselben Umgebung bereitgestellt haben und ein Proxy abstürzt, werden alle Proxys in der Umgebung entfernt, während die MPs neu gestartet werden. Durch das Einschränken der Anzahl von Proxys, die in einer Umgebung bereitgestellt werden, minimieren Sie die Auswirkungen eines einzelnen Proxy-Absturzs.

Konfigurationsreferenz für die Konfiguration

Eine vollständige Liste der Umgebungskonfigurationselemente finden Sie unter envs in der Referenzdatei zu Konfigurationsattributen.

Mit Umgebungen arbeiten

Weitere Informationen zur Konfiguration finden Sie in folgenden Themen: