Dediziertes Azure Cosmos DB-Gateway – Übersicht

GILT FÜR: NoSQL

Ein dediziertes Gateway ist serverseitiges Compute als Front-End für Ihr Azure Cosmos DB-Konto. Wenn Sie eine Verbindung mit dem dedizierten Gateway herstellen, leitet es Anforderungen weiter und speichert Daten zwischen. Wie der bereitgestellte Durchsatz wird das dedizierte Gateway stündlich abgerechnet.

Übersicht

Sie können ein dediziertes Gateway bereitstellen, um die Leistung im großen Stil zu verbessern. Der häufigste Grund für die Bereitstellung eines dedizierten Gateways ist die Zwischenspeicherung. Wenn Sie ein dediziertes Gateway bereitstellen, wird automatisch ein integrierter Cache innerhalb des dedizierten Gateways konfiguriert. Punktlesevorgänge und Abfragen, die den integrierten Cache betreffen, nutzen keine Ihrer RUs. Durch die Bereitstellung eines dedizierten Gateways mit einem integrierten Cache können Workloads mit hoher Leselast die Kosten für Azure Cosmos DB senken.

Das dedizierte Gateway ist in Azure Cosmos DB integriert. Wenn Sie ein dediziertes Gateway bereitstellen, verfügen Sie über einen vollständig verwalteten Knoten, der Anforderungen an Back-End-Partitionen weiterleitet. Das Herstellen einer Verbindung mit Azure Cosmos DB mit dem dedizierten Gateway bietet eine geringere und besser vorhersagbare Latenz als das Herstellen einer Verbindung mit Azure Cosmos DB mit dem Standardgateway. Selbst Cachefehler werden beim Vergleich des dedizierten Gateways mit dem Standardgateway zu Latenzverbesserungen führen.

Es sind nur minimale Codeänderungen erforderlich, damit Ihre Anwendung ein dediziertes Gateway verwenden kann. Sowohl neue als auch vorhandene Azure Cosmos DB-Konten können ein dediziertes Gateway bereitstellen, um die Leseleistung zu verbessern.

Hinweis

Haben Sie Feedback zum dedizierten Gateway? Teilen Sie uns Ihre Meinung mit! Sie können Feedback direkt an das Azure Cosmos DB-Entwicklungsteam senden: cosmoscachefeedback@microsoft.com

Verbindungsmodi

Es gibt zwei Konnektivitätsmodi für Azure Cosmos DB: den direkten Modus und den Gatewaymodus. Mit dem Gatewaymodus können Sie je nach konfiguriertem Endpunkt eine Verbindung mit dem Standardgateway oder dem dedizierten Gateway herstellen.

Diagramm der Funktionsweise der Azure Cosmos DB-Konnektivitätsmodi.

Herstellen der Verbindung mit Azure Cosmos DB mit dem direkten Modus

Wenn Sie eine Verbindung mit Azure Cosmos DB im direkten Modus herstellen, stellt Ihre Anwendung eine direkte Verbindung mit dem Azure Cosmos DB-Back-End her. Auch wenn Sie über viele physische Partitionen verfügen, wird das Anforderungsrouting vollständig clientseitig verarbeitet. Der direkte Modus bietet eine geringe Latenz, da Ihre Anwendung direkt mit dem Azure Cosmos DB-Back-End kommunizieren kann und keinen zwischengeschalteten Netzwerkhop benötigt. Wenn Sie eine Verbindung im direkten Modus herstellen möchten, verwenden Ihre Anforderungen nicht das dedizierte Gateway oder den integrierten Cache.

Herstellen der Verbindung mit Azure Cosmos DB mit dem Gatewaymodus

Wenn Sie eine Verbindung Azure Cosmos DB im Gatewaymodus herstellen, stellt Ihre Anwendung zuerst eine Verbindung mit einem Front-End-Knoten her, der das Weiterleiten der Anforderung an die entsprechenden Back-End-Knoten verarbeitet. Da der Gatewaymodus einen zusätzlichen Netzwerkhop umfasst, können Sie im Vergleich zum direkten Modus eine etwas höhere Latenz beobachten.

Wenn Sie eine Verbindung mit Azure Cosmos DB im Gatewaymodus herstellen, können Sie eine der folgenden Optionen verwenden:

  • Standardgateway: Während das Back-End, das Ihren bereitgestellten Durchsatz und Speicher umfasst, über eine dedizierte Kapazität pro Container verfügt, wird das Standardgateway von vielen Azure Cosmos DB-Konten gemeinsam genutzt. Es ist für viele Kunden praktisch, ein Standardgateway gemeinsam zu nutzen, da die einzelnen Kunden jeweils nur wenige Computerressourcen verbrauchen.
  • Dediziertes Gateway: In diesem Gateway verfügen sowohl das Back-End als auch das Gateway über dedizierte Kapazität. Der integrierte Cache erfordert ein dediziertes Gateway, da er einen erheblichen CPU- und Speicherbedarf aufweist, der spezifisch für Ihr Azure Cosmos DB-Konto ist.

Sie müssen eine Verbindung mit Azure Cosmos DB mithilfe des dedizierten Gateways herstellen, um den integrierten Cache verwenden zu können. Das dedizierte Gateway verfügt über einen anderen Endpunkt als den Standardendpunkt, der mit Ihrem Azure Cosmos DB-Konto bereitgestellt wird. Die Anforderungen werden jedoch auf dieselbe Weise weitergeleitet. Wenn Sie eine Verbindung mit dem Endpunkt Ihres dedizierten Gateways herstellen, sendet Ihre Anwendung eine Anforderung an das dedizierte Gateway, das die Anforderung dann an verschiedene Back-End-Knoten weiterleitet. Wenn möglich, stellt der integrierte Cache das Ergebnis zur Verfügung.

Abbildung der Gatewaymodusverbindung mit einem dedizierten Gateway:

Diagramm der Funktionsweise des dedizierten Azure Cosmos DB-Gateways.

Bereitstellen des dedizierten Gateways

Ein dedizierter Gatewaycluster kann in API für NoSQL-Konten bereitgestellt werden. Ein dedizierter Gatewaycluster kann standardmäßig bis zu fünf Knoten enthalten, und Sie können Knoten jederzeit hinzufügen oder entfernen. Alle dedizierten Gatewayknoten in Ihrem Konto verwenden dieselbe Verbindungszeichenfolge.

Dedizierte Gatewayknoten sind voneinander unabhängig. Wenn Sie mehrere dedizierte Gatewayknoten bereitstellen, kann jeder einzelne Knoten jede beliebige Anforderung weiterleiten. Darüber hinaus verfügt jeder Knoten über einen separaten integrierten Cache. Die zwischengespeicherten Daten innerhalb jedes Knotens hängen von den Daten ab, die vor kurzem über diesen spezifischen Knoten geschrieben oder gelesen wurden. Wenn ein Element oder eine Abfrage auf einem Knoten zwischengespeichert wird, wird es bzw. sie nicht unbedingt auf den anderen Knoten zwischengespeichert.

Für die Entwicklung empfiehlt es sich, mit einem Knoten zu beginnen, aber für die Produktion sollten Sie drei oder mehr Knoten bereitstellen, um Hochverfügbarkeit zu erzielen. Erfahren Sie, wie Sie einen dedizierten Gatewaycluster mit einem integrierten Cache bereitstellen. Durch die Bereitstellung mehrerer dedizierter Gatewayknoten kann der dedizierte Gatewaycluster weiterhin Anforderungen weiterleiten und zwischengespeicherte Daten verarbeiten, auch wenn einer der dedizierten Gatewayknoten nicht verfügbar ist.

Das dedizierte Gateway ist in den folgenden Größen verfügbar. Der integrierte Cache verwendet ungefähr 50 % des Arbeitsspeichers, und der Rest ist für Metadaten und Routinganforderungen an Back-End-Partitionen reserviert.

SKU-Name vCPU Arbeitsspeicher
D4s 4 16 GB
D8s 8 32 GB
D16s 16 64 GB

Tipp

Nach der Erstellung können Sie dedizierte Gatewayknoten hinzufügen oder entfernen, aber die Größe der Knoten kann nicht geändert werden. Um die Größe Ihrer dedizierten Gatewayknoten zu ändern, können Sie die Bereitstellung des Clusters aufheben und ihn in einer anderen Größe erneut bereitstellen. Dies führt zu einer kurzen Downtime, es sei denn, Sie ändern die Verbindungszeichenfolge in Ihrer Anwendung so, dass während der Bereitstellungsaufhebung das Standardgateway verwendet wird.

Es gibt viele verschiedene Möglichkeiten, ein dediziertes Gateway bereitzustellen:

Hinweis

Sie können ein dediziertes Gateway auf Anforderung in Azure Cosmos DB-Konten mit Verfügbarkeitszonen bereitstellen. Weitere Informationen erhalten Sie bei cosmoscachefeedback@microsoft.com.

Dediziertes Gateway in Konten mit mehreren Regionen

Wenn Sie einen dedizierten Gatewaycluster in Konten mit mehreren Regionen bereitstellen, werden in jeder Region identische dedizierte Gatewaycluster bereitgestellt. Betrachten Sie z. B. ein Azure Cosmos DB-Konto in den Regionen „USA, Osten“ und „Europa, Norden“. Wenn Sie einen dedizierten Gatewaycluster mit zwei D8-Knoten in diesem Konto bereitstellen, verfügen Sie insgesamt über vier D8-Knoten – zwei in „USA, Osten“ und zwei in „Europa, Norden“. Sie müssen nicht explizit dedizierte Gateways in jeder Region konfigurieren, und Ihre Verbindungszeichenfolge bleibt unverändert. Es gibt auch keine Änderungen an bewährten Methoden für das Ausführen von Failovern.

Wie Knoten innerhalb eines Clusters sind regionsübergreifende dedizierte Gatewayknoten unabhängig. Es ist möglich, dass sich die zwischengespeicherten Daten in jeder Region unterscheiden, abhängig von den letzten Lese- oder Schreibvorgängen in dieser Region.

Einschränkungen

Für das dedizierte Gateway gelten die folgenden Einschränkungen:

  • Dedizierte Gateways werden nur für API für NoSQL-Konten unterstützt.
  • Sie können die rollenbasierte Zugriffssteuerung (RBAC) nicht verwenden, um Datenebenenanforderungen zu authentifizieren, die über das dedizierte Gateway weitergeleitet werden.

Nächste Schritte

Weitere Informationen zur Verwendung dedizierter Gateways finden Sie in den folgenden Artikeln: