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.
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:
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:
- Bereitstellung eines dedizierten Gateways über das Azure-Portal
- Verwenden der Azure Cosmos DB-REST-API
- Azure-Befehlszeilenschnittstelle
- ARM-Vorlage
- Hinweis: Sie können die Bereitstellung eines dedizierten Gateways nicht mithilfe von ARM-Vorlagen rückgängig machen
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:
- Integrierter Cache
- Konfigurieren des integrierten Caches
- Häufig gestellte Fragen zum integrierten Cache
- Versuchen Sie, die Kapazitätsplanung für eine Migration zu Azure Cosmos DB durchzuführen? Sie können Informationen zu Ihrem vorhandenen Datenbankcluster für die Kapazitätsplanung verwenden.
- Wenn Sie lediglich die Anzahl der virtuellen Kerne und Server in Ihrem vorhandenen Datenbankcluster kennen, lesen Sie die Informationen zum Schätzen von Anforderungseinheiten mithilfe von virtuellen Kernen oder virtuellen CPUs.
- Wenn Sie die typischen Anforderungsraten für Ihre aktuelle Datenbankworkload kennen, lesen Sie die Informationen zum Schätzen von Anforderungseinheiten mit dem Azure Cosmos DB-Kapazitätsplaner