Gaming mit Azure Database for MySQL

API-Apps
Content Delivery Network
Database for MySQL
HDInsight
Storage

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. Bei Azure Database for MySQL werden Spieldaten eines Benutzers in einer gehosteten Datenbank für Transaktionen gespeichert.
  4. Die Daten aus Azure Database for MySQL werden mit Azure Databricks verarbeitet und auf der Analyseplattform gespeichert.
  5. (Optional) Verwenden von Power BI, um diese Daten zu interpretieren und neue Visualisierungen zu erstellen

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 Database for MySQL ist ein vollständig verwalteter relationaler Datenbankdienst, der auf der Community-Edition des Open-Source-MySQL-Datenbankmoduls basiert.

  • Azure HDInsight ist ein umfassender, verwalteter Open-Source-Analysedienst in der Cloud für Unternehmen. Sie können Open Source-Frameworks wie Hadoop, Apache Spark, Apache Hive, LLAP, Apache Kafka, Apache Storm, R und andere verwenden.

  • (Optional) Power BI verfügt über ein interaktives Dashboard mit Visualisierungen, für die in SQL Server gespeicherte Daten verwendet werden, um Entscheidungen auf Grundlage der Vorhersagen zu ermöglichen.

Nächste Schritte

Die folgenden Lösungsideen unterstützen Azure Database for MySQL: