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

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

Идеи решения

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

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

Архитектура

Схема архитектуры, демонстрирующая идею игрового решения, использующую 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: