Prowadzenie rozgrywki przy użyciu usługi Azure Database for MySQL

Aplikacje interfejsów API
Content Delivery Network
Database for MySQL
HDInsight
Storage

OmówienieOverview

Ta architektura rozwiązania do gier umożliwia elastyczne skalowanie bazy danych w celu uwzględnienia nieprzewidywalnych obciążeń związanych z ruchem i zapewniania małych opóźnień dla wielu graczy na skalę globalną.This gaming solution architecture elastically scales your database to accommodate unpredictable bursts of traffic and deliver low-latency multi-player experiences on a global scale. Ten konkretny scenariusz jest oparty na scenariuszu gier, ale wzorce projektowe mają zastosowanie w przypadku wielu branż wymagających wywołań sieci Web o dużym ruchu oraz żądań interfejsu API, takich jak handel elektroniczny i aplikacje detaliczne.This specific scenario is based on a gaming scenario, but the design patterns are relevant for many industries requiring the process high-traffic web calls and API requests such as e-commerce and retail applications.

ArchitekturaArchitecture

Diagram architektury Pobiera plik SVG z tej architektury.Architecture Diagram Download an SVG of this architecture.

Przepływ danychData Flow

  1. Usługa Azure Traffic Manager kieruje ruchem z gier użytkownika do aplikacji hostowanych w Azure App Service, funkcjach lub kontenerach i interfejsach API opublikowanych za pośrednictwem bramy interfejsu API platformy Azure.Azure Traffic Manager routes a user's game traffic to the apps hosted in Azure App Service, Functions or Containers and APIs published via Azure API Gateway.
  2. Azure CDN obsługuje obrazy statyczne i zawartość gier dla użytkownika, który jest przechowywany w usłudze Azure Blob Storage.Azure CDN serves static images and game content to the user that are stored in Azure Blob Storage.
  3. Azure Database for MySQL przechowuje dane gier użytkownika w hostowanej bazie danych.Azure Database for MySQL stores user's game data in a transactional database hosted.
  4. Dane z Azure Database for MySQL są przetwarzane przy użyciu Azure Databricks i przechowywane na platformie analitycznej.The data from Azure Database for MySQL are processed using Azure Databricks and stored in the analytics platform.
  5. Obowiązkowe Użyj Power BI, aby interpretować te dane i utworzyć nowe wizualizacje(Optional) Use Power BI to interpret this data and create new visualizations

SkładnikiComponents

Ta architektura obejmuje następujące składniki:This architecture includes the following components:

  • Usługa Azure Traffic Manager to oparty na systemie DNS moduł równoważenia obciążenia, który steruje dystrybucją ruchu użytkowników dla punktów końcowych usługi w różnych regionach platformy Azure.Azure Traffic Manager is a DNS-based load balancer that controls the distribution of user traffic for service endpoints in different Azure regions. Podczas wykonywania zwykłych operacji kieruje żądania do regionu podstawowego.During normal operations, it routes requests to the primary region. Jeśli ten region stanie się niedostępny, Traffic Manager może zostać przełączona w tryb failover do regionu pomocniczego zgodnie z wymaganiami.If that region becomes unavailable, Traffic Manager can fail over to secondary region as needed.

  • Usługa Azure API Management udostępnia bramę interfejsu API, która znajduje się przed interfejsem API gier.Azure API Management provides an API gateway that sits in front of the Gaming APIs. API Management również może służyć do implementowania zagadnień, takich jak:API Management also can be used to implement concerns such as:

    • Wymuszanie limitów przydziału użycia i szybkościEnforcing usage quotas and rate limits
    • Weryfikowanie tokenów OAuth na potrzeby uwierzytelnianiaValidating OAuth tokens for authentication
    • Włączanie żądań między źródłami (CORS)Enabling cross-origin requests (CORS)
    • Buforowanie odpowiedziCaching responses
    • Żądania monitorowania i rejestrowaniaMonitoring and logging requests
  • Azure App Service hostuje aplikacje interfejsu API umożliwiające automatyczne skalowanie i wysoką dostępność bez konieczności zarządzania infrastrukturą.Azure App Service hosts API applications allowing autoscale and high availability without having to manage infrastructure.

  • Azure CDN udostępnia statyczną, buforowaną zawartość z lokalizacji blisko użytkowników w celu zmniejszenia opóźnień.Azure CDN delivers static, cached content from locations close to users to reduce latency.

  • BLOB Storage platformy Azure są zoptymalizowane pod kątem przechowywania dużych ilości danych bez struktury, takich jak statyczne nośniki do gier.Azure Blob Storage are optimized to store large amounts of unstructured data, such as static gaming media.

  • Azure Database for MySQL to w pełni zarządzana usługa relacyjnej bazy danych oparta na wersji społecznościowej aparatu bazy danych MySQL typu open source.Azure Database for MySQL is a fully managed relational database service based on the community edition of the open-source MySQL database engine.

  • Azure HDInsight to zarządzana usługa analizy typu open source w chmurze dla przedsiębiorstw.Azure HDInsight is a managed, full-spectrum, open-source analytics service in the cloud for enterprises. Można jej używać z platformami typu „open source”, takimi jak Hadoop, Apache Spark, Apache Hive, LLAP, Apache Kafka, Apache Storm, R i nie tylko.You can use open-source frameworks such as Hadoop, Apache Spark, Apache Hive, LLAP, Apache Kafka, Apache Storm, R, and more.

  • Obowiązkowe Power BI zapewnia interaktywny pulpit nawigacyjny z wizualizacją, która używa danych przechowywanych w SQL Server do podejmowania decyzji dotyczących prognoz.(Optional) Power BI provides an interactive dashboard with visualization that uses data stored in SQL Server to drive decisions on the predictions.