Использование Базы данных Azure для MySQL в играх

Приложения API
Сеть доставки содержимого (CDN)
База данных для MySQL
HDInsight
Служба хранилища

ОбзорOverview

Эта архитектура игровых решений эластично масштабирует базу данных, чтобы обеспечить непредсказуемость нагрузки трафика и обеспечить работу нескольких проигрывателей с низкой задержкой в глобальном масштабе.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. Этот конкретный сценарий основан на игровом сценарии, но шаблоны проектирования важны для многих отраслей, требующих обработки веб-вызовов с большим трафиком и запросов API, таких как электронные и коммерческие приложения.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.

ArchitectureArchitecture

Схема архитектуры . Скачайте SVG этой архитектуры.Architecture Diagram Download an SVG of this architecture.

Поток данныхData Flow

  1. Диспетчер трафика Azure направляет игровой трафик пользователя в приложения, размещенные в службе приложений Azure, в функциях, контейнерах и API-интерфейсах, опубликованных через шлюз API 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 обслуживает статические изображения и содержимое игр для пользователя, хранящегося в хранилище BLOB-объектов Azure.Azure CDN serves static images and game content to the user that are stored in Azure Blob Storage.
  3. База данных Azure для MySQL хранит данные игр пользователя в размещенной базе данных транзакций.Azure Database for MySQL stores user's game data in a transactional database hosted.
  4. Данные из базы данных Azure для MySQL обрабатываются с помощью Azure Databricks и хранятся на платформе аналитики.The data from Azure Database for MySQL are processed using Azure Databricks and stored in the analytics platform.
  5. Используемых Используйте Power BI для интерпретации этих данных и создания новых визуализаций(Optional) Use Power BI to interpret this data and create new visualizations

КомпонентыComponents

Эта архитектура включает в себя следующие компоненты:This architecture includes the following components:

  • Диспетчер трафика Azure — это балансировщик нагрузки на основе DNS, который управляет распределением пользовательского трафика для конечных точек службы в разных регионах Azure.Azure Traffic Manager is a DNS-based load balancer that controls the distribution of user traffic for service endpoints in different Azure regions. При обычной работе он направляет запросы в основной регион.During normal operations, it routes requests to the primary region. Если этот регион становится недоступным, диспетчер трафика может выполнить отработку отказа в дополнительный регион по мере необходимости.If that region becomes unavailable, Traffic Manager can fail over to secondary region as needed.

  • Служба управления API Azure предоставляет шлюз API, который располагается перед игровыми API.Azure API Management provides an API gateway that sits in front of the Gaming APIs. Управление API также можно использовать для реализации таких проблем:API Management also can be used to implement concerns such as:

    • Принудительное применение квот потребления и ограничений скорости.Enforcing usage quotas and rate limits
    • Проверка токенов OAuth для аутентификации.Validating OAuth tokens for authentication
    • Включение запросов независимо от источника (CORS).Enabling cross-origin requests (CORS)
    • Кэширование ответов.Caching responses
    • Мониторинг и ведение журнала запросов.Monitoring and logging requests
  • Служба приложений Azure размещает приложения API, позволяющие выполнять Автомасштабирование и высокий уровень доступности без необходимости управлять инфраструктурой.Azure App Service hosts API applications allowing autoscale and high availability without having to manage infrastructure.

  • Azure CDN. Для уменьшения задержки предоставляет статическое, кэшированное содержимое из близких к пользователям расположений.Azure CDN delivers static, cached content from locations close to users to reduce latency.

  • Хранилище BLOB-объектов Azure оптимизировано для хранения больших объемов неструктурированных данных, например статических игровых носителей.Azure Blob Storage are optimized to store large amounts of unstructured data, such as static gaming media.

  • База данных Azure для MySQL — это полностью управляемая служба реляционной базы данных, основанная на выпуске Community ядра СУБД MySQL с открытым кодом.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 — это управляемая Полнофункциональная служба аналитики с открытым кодом в облаке для предприятий.Azure HDInsight is a managed, full-spectrum, open-source analytics service in the cloud for enterprises. Вы можете использовать такие платформы с открытым кодом, как Hadoop, Apache Spark, Apache Hive, LLAP, Apache Kafka, Apache Storm, R и др.You can use open-source frameworks such as Hadoop, Apache Spark, Apache Hive, LLAP, Apache Kafka, Apache Storm, R, and more.

  • Используемых Power BI предоставляет интерактивную панель мониторинга с визуализацией, которая использует данные, хранящиеся в SQL Server, для принятия решений по прогнозам.(Optional) Power BI provides an interactive dashboard with visualization that uses data stored in SQL Server to drive decisions on the predictions.