Игры с помощью Azure Cosmos DB

Служба приложений Azure
Azure Cosmos DB

Идеи решения

Эта статья является идеей решения. Если вы хотите расширить содержимое с дополнительными сведениями, такими как потенциальные варианты использования, альтернативные службы, рекомендации по реализации или рекомендации по ценам, сообщите нам, предоставив отзыв GitHub.

Эта идея игрового решения эластично масштабирует базу данных, чтобы обеспечить непредсказуемые всплески трафика и обеспечить низкой задержки в глобальном масштабе.

Архитектура

Схема архитектуры, демонстрирующая идею игрового решения, использующую Azure Cosmos DB.

Скачайте файл Visio для этой архитектуры.

Поток данных

  1. Диспетчер трафика Azure направляет трафик игры пользователя в приложения, размещенные в службе приложение Azure, функциях или контейнерах, а также в API, опубликованные через шлюз API Azure.
  2. Azure CDN обслуживает статические изображения и игровое содержимое пользователю, хранящимся в Хранилище BLOB-объектов Azure.
  3. Azure Cosmos DB хранит данные о состоянии игры пользователя.
  4. Azure Databricks сопоставляет, очищает и преобразует данные о состоянии игры.
  5. Функции Azure обрабатывает аналитические сведения, полученные от Azure Databricks, и отправляет уведомления на мобильные устройства с помощью Центров уведомлений Azure.

Компоненты

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

  • Диспетчер трафика Azure — это подсистема балансировки нагрузки на основе DNS, которая управляет распределением трафика пользователей для конечных точек служб в разных регионах Azure. При обычной работе он направляет запросы в основной регион. Если этот регион становится недоступным, Диспетчер трафика может выполнить отработку отказа в дополнительный регион по мере необходимости.

  • Azure Управление API предоставляет шлюз API, который находится перед API игр. Управление API также можно использовать для реализации таких проблем, как:

    • Принудительное применение квот потребления и ограничений скорости.
    • Проверка токенов OAuth для аутентификации.
    • Включение запросов независимо от источника (CORS).
    • Кэширование ответов.
    • Мониторинг и ведение журнала запросов.
  • приложение Azure служба размещает приложения API, позволяющие автомасштабирование и высокий уровень доступности без необходимости управлять инфраструктурой.

  • Azure CDN. Для уменьшения задержки предоставляет статическое, кэшированное содержимое из близких к пользователям расположений.

  • Хранилище BLOB-объектов Azure оптимизированы для хранения больших объемов неструктурированных данных, таких как статические игровые носители.

  • Azure Cosmos DB — это полностью управляемая служба базы данных NoSQL для создания и модернизации масштабируемых высокопроизводительных приложений.

  • Azure Databricks — это платформа аналитики на основе Apache Spark, оптимизированная для платформы облачных служб Microsoft Azure.

  • Функции Azure — это бессерверный вычислительный параметр, позволяющий приложениям выполняться по запросу без необходимости управлять инфраструктурой.

  • Центры уведомлений Azure — это масштабируемый модуль push-уведомлений для быстрого отправки уведомлений на различные мобильные устройства и платформы.

Подробности сценария

Потенциальные варианты использования

Этот конкретный сценарий основан на игровом сценарии для индустрии разработки игр. Шаблоны проектирования важны для многих отраслей, которые необходимы для обработки веб-вызовов с высоким трафиком и запросов API, таких как электронная коммерция и розничные приложения.

Следующие шаги

Ознакомьтесь со следующими статьями в Azure Cosmos DB:

Документация по продукту:

Следующие идеи решения содержат Azure Cosmos DB: