Идеи решения
В этой статье описывается идея решения. Ваш архитектор облака может использовать это руководство, чтобы визуализировать основные компоненты для типичной реализации этой архитектуры. Используйте эту статью в качестве отправной точки для разработки хорошо спроектированного решения, которое соответствует конкретным требованиям рабочей нагрузки.
Эта идея игрового решения эластично масштабирует базу данных, чтобы обеспечить непредсказуемые всплески трафика и обеспечить низкой задержки в глобальном масштабе.
Архитектура
Скачайте файл Visio для этой архитектуры.
Поток данных
- Диспетчер трафика Azure направляет трафик игры пользователя в приложения, размещенные в службе приложение Azure, функциях или контейнерах, а также в API, опубликованные через шлюз API Azure.
- Azure CDN обслуживает статические изображения и игровое содержимое пользователю, хранящимся в Хранилище BLOB-объектов Azure.
- Azure Cosmos DB хранит данные о состоянии игры пользователя.
- Azure Databricks сопоставляет, очищает и преобразует данные о состоянии игры.
- Функции 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
- Change feed in Azure Cosmos DB (Канал изменений в Azure Cosmos DB)
- Срок жизни в Azure Cosmos DB
- Уровни согласованности для Azure Cosmos DB
- Единицы запросов в Azure Cosmos DB
- Partitioning and horizontal scaling in Azure Cosmos DB (Секционирование и горизонтальное масштабирование в Azure Cosmos DB)
Документация по продукту:
- Что такое Диспетчер трафика Azure?
- Управление API Azure
- Обзор службы приложение Azure
- Что такое Azure CDN?
- Что такое Хранилище BLOB-объектов Azure?
- Что такое Azure Databricks?
- Общие сведения о Функциях Azure
- Что такое Центры уведомлений Azure?
Связанные ресурсы
Следующие идеи решения содержат Azure Cosmos DB: