Gry przy użyciu usługi Azure Cosmos DB

Azure App Service
Azure Cosmos DB

Pomysły dotyczące rozwiązań

Ten artykuł jest pomysłem na rozwiązanie. Jeśli chcesz, abyśmy rozszerzyli zawartość o więcej informacji, takich jak potencjalne przypadki użycia, alternatywne usługi, zagadnienia dotyczące implementacji lub wskazówki dotyczące cen, daj nam znać, przekazując opinię w usłudze GitHub.

To rozwiązanie do gier elastycznie skaluje bazę danych, aby obsłużyć nieprzewidywalne wzrosty ruchu i zapewnić obsługę wielu graczy o małych opóźnieniach w skali globalnej.

Architektura

Architecture diagram that shows a gaming solution idea that uses Azure Cosmos DB.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

  1. Usługa Azure Traffic Manager kieruje ruch użytkownika do aplikacji hostowanych w usłudze aplikacja systemu Azure Service, Functions lub Containers oraz do interfejsów API publikowanych za pośrednictwem usługi Azure API Gateway.
  2. Usługa Azure CDN obsługuje statyczne obrazy i zawartość gier dla użytkownika przechowywanego w usłudze Azure Blob Storage.
  3. Usługa Azure Cosmos DB przechowuje dane stanu gry użytkownika.
  4. Usługa Azure Databricks koreluje, czyści i przekształca dane stanu gry.
  5. Usługa Azure Functions przetwarza szczegółowe informacje pochodzące z usługi Azure Databricks i wypycha powiadomienia do urządzeń przenośnych przy użyciu usługi Azure Notification Hubs.

Elementy

Ta architektura obejmuje następujące składniki:

  • Usługa Azure Traffic Manager to oparty na systemie DNS moduł równoważenia obciążenia, który kontroluje dystrybucję ruchu użytkowników dla punktów końcowych usługi w różnych regionach świadczenia usługi. Podczas wykonywania zwykłych operacji kieruje żądania do regionu podstawowego. Jeśli ten region stanie się niedostępny, usługa Traffic Manager może przejść w tryb failover do regionu pomocniczego zgodnie z potrzebami.

  • Usługa Azure API Management udostępnia bramę interfejsu API, która znajduje się przed interfejsami API gier. Usługa API Management może również służyć do implementowania problemów, takich jak:

    • Wymuszanie limitów przydziału użycia i limitów szybkości
    • Weryfikowanie tokenów OAuth na potrzeby uwierzytelniania
    • Włączanie żądań między źródłami (CORS)
    • Buforowanie odpowiedzi
    • Monitorowanie i rejestrowanie żądań
  • aplikacja systemu Azure Service hostuje aplikacje interfejsu API umożliwiające skalowanie automatyczne i wysoką dostępność bez konieczności zarządzania infrastrukturą.

  • Usługa Azure CDN dostarcza statyczną, buforowana zawartość z lokalizacji blisko użytkowników, aby zmniejszyć opóźnienie.

  • Usługa Azure Blob Storage jest zoptymalizowana pod kątem przechowywania dużych ilości danych bez struktury, takich jak statyczne nośniki gier.

  • Azure Cosmos DB to w pełni zarządzana usługa bazy danych NoSQL służąca do tworzenia i modernizacji skalowalnych aplikacji o wysokiej wydajności.

  • Azure Databricks to platforma analizy oparta na usłudze Apache Spark i zoptymalizowana pod kątem platformy usług w chmurze Microsoft Azure.

  • Usługa Azure Functions to bezserwerowa opcja obliczeniowa, która umożliwia aplikacjom uruchamianie na żądanie bez konieczności zarządzania infrastrukturą.

  • Usługa Azure Notification Hubs to wysoce skalowalny aparat powiadomień wypychanych do szybkiego wysyłania powiadomień do różnych urządzeń przenośnych i platform.

Szczegóły scenariusza

Potencjalne przypadki użycia

Ten konkretny scenariusz jest oparty na scenariuszu gry w branży deweloperów gier. Wzorce projektowe są istotne dla wielu branż, które są wymagane do przetwarzania wywołań internetowych i żądań interfejsów API o dużym natężeniu ruchu, takich jak aplikacje handlu elektronicznego i handlu detalicznego.

Następne kroki

Zapoznaj się z następującymi artykułami w usłudze Azure Cosmos DB:

Dokumentacja produktu:

Następujące pomysły dotyczące rozwiązań zawierają usługę Azure Cosmos DB: