Gaming mit Cosmos DB

API-Apps
Cosmos DB

Lösungsidee

Wenn Sie möchten, dass wir diesen Artikel um weitere Informationen ergänzen, z. B. potenzielle Anwendungsfälle, alternative Dienste, Überlegungen zur Implementierung oder Preisempfehlungen, lassen Sie es uns über Feedback auf GitHub wissen!

Bei diesem Gaming-Lösungsansatz wird Ihre Datenbank elastisch skaliert, um unvorhersehbare Datenverkehrsaufkommen zu bewältigen und global Multiplayer-Erlebnisse mit niedriger Latenz zu ermöglichen. Dieses spezifische Szenario basiert auf einem Gamingszenario, aber die Entwurfsmuster sind für viele Branchen relevant, in denen die Verarbeitung von Webaufrufen und API-Anforderungen mit hohem Datenverkehrsaufkommen erforderlich ist, z. B. E-Commerce- und Einzelhandelsanwendungen.

Aufbau

Architekturdiagramm Laden Sie eine SVG-Datei für diese Architektur herunter.

Datenfluss

  1. Azure Traffic Manager leitet den Gamingdatenverkehr eines Benutzers an die Apps weiter, die unter Azure App Service, Functions oder Containern und APIs (über das Azure-API-Gateway) gehostet werden.
  2. Azure CDN stellt für den Benutzer statische Bilder und Spielinhalte bereit, die in Azure Blob Storage gespeichert sind.
  3. Azure Cosmos DB speichert die Spielstanddaten des Benutzers.
  4. Azure Databricks korreliert, bereinigt und transformiert Spielstanddaten.
  5. Azure Functions verarbeitet die aus Azure Databricks abgeleiteten Erkenntnisse und sendet Pushbenachrichtigungen über Azure Notification Hubs an mobile Geräte.

Komponenten

Diese Architektur besteht aus den folgenden Komponenten:

  • Azure Traffic Manager ist ein DNS-basiertes Lastenausgleichsmodul, mit dem die Verteilung von Benutzerdatenverkehr für Dienstendpunkte in unterschiedlichen Azure-Regionen gesteuert wird. Während des normalen Betriebs werden Anforderungen an die primäre Region weitergeleitet. Wenn diese Region nicht mehr verfügbar ist, kann Traffic Manager bei Bedarf ein Failover in die sekundäre Region ausführen.

  • Mit Azure API Management wird ein API-Gateway bereitgestellt, das vor den Gaming-APIs angeordnet ist. API Management kann auch für Implementierungen der folgenden Art verwendet werden:

    • Erzwingen von Nutzungskontingenten und Ratenbegrenzungen
    • Überprüfen von OAuth-Token für die Authentifizierung
    • Aktivieren von ursprungsübergreifenden Anforderungen (Cross-Origin Requests, CORS)
    • Zwischenspeichern von Antworten
    • Überwachen und Protokollieren von Anforderungen
  • Azure App Service hostet API-Anwendungen und ermöglicht Autoskalierung und Hochverfügbarkeit, ohne eine Infrastruktur verwalten zu müssen.

  • Azure CDN stellt statische zwischengespeicherte Inhalte von Standorten bereit, die sich in der Nähe der Benutzer befinden, um die Latenz zu reduzieren.

  • Azure Blob Storage ist für die Speicherung großer Mengen von unstrukturierten Daten, z. B. statische Gamingmedien, optimiert.

  • Azure Cosmos DB ist ein vollständig verwalteter NoSQL-Datenbankdienst zum Erstellen und Modernisieren von skalierbaren Hochleistungsanwendungen.

  • Azure Databricks ist eine Apache Spark-basierte Analyseplattform, die für die Microsoft Azure-Clouddienstplattform optimiert ist.

  • Bei Azure Functions handelt es sich um serverlose Computeoptionen, mit denen Anwendungen bedarfsgesteuert ausgeführt werden können, ohne dass die Infrastruktur verwaltet werden muss.

  • Bei Azure Notification Hubs handelt es sich um eine hochgradig skalierbare Engine für Pushbenachrichtigungen, die das schnelle Senden von Benachrichtigungen an viele verschiedene mobile Geräte und Plattformen ermöglicht.

Nächste Schritte

Lesen Sie die folgenden Artikel zu Cosmos DB:

Die folgenden Lösungsideen unterstützen Azure Cosmos DB: