使用 Cosmos DB 的遊戲

API 應用程式
Cosmos DB

解決方案構想

如果您想要瞭解如何使用詳細資訊來擴充本文,例如可能的使用案例、替代服務、實行考慮或定價指引,請讓我們知道 GitHub 的意見反應!

這項遊戲解決方案構想彈性調整您的資料庫,以容納無法預期的流量高載,並提供全球規模的低延遲多玩家體驗。 此特定案例是以遊戲案例為基礎,但設計模式與許多需要用來處理高流量 web 呼叫和 API 要求的產業相關,例如電子商務和零售應用程式。

架構

架構圖表下載此架構的SVG

資料流程

  1. Azure 流量管理員會將使用者的遊戲流量路由傳送至 Azure App Service、函式或容器中裝載的應用程式,以及透過 Azure API 閘道發佈的 api。
  2. Azure CDN 將靜態影像和遊戲內容提供給儲存在 Azure Blob 儲存體中的使用者。
  3. Azure Cosmos DB 儲存使用者的遊戲狀態資料。
  4. Azure Databricks 將遊戲狀態資料相互關聯、清理和轉換。
  5. Azure Functions 會處理衍生自 Azure Databricks 的見解,並使用 Azure 通知中樞將通知推送至行動裝置。

單元

此架構包含下列元件:

  • Azure 流量管理員是以 DNS 為基礎的負載平衡器,可控制不同 Azure 區域中服務端點的使用者流量分配。 正常作業期間,它會將要求路由傳送到主要區域。 如果該區域變得無法使用,流量管理員可以視需要容錯移轉至次要區域。

  • AZURE Api 管理 提供位於遊戲 api 前方的 API 閘道。 API 管理也可以用來實行考慮,例如:

    • 強制採用使用量配額和頻率限制
    • 驗證 OAuth 權杖以進行驗證
    • 啟用跨原始來源要求 (CORS)
    • 快取回應
    • 監視和記錄要求
  • Azure App Service 裝載 API 應用程式,允許自動調整及高可用性,而不需要管理基礎結構。

  • Azure CDN 從使用者附近的位置傳遞靜態、快取的內容,以減少延遲。

  • Azure Blob 儲存體已優化,可儲存大量的非結構化資料,例如靜態遊戲媒體。

  • Azure Cosmos DB是完全受控的 NoSQL 資料庫服務,可讓您建立並現代化可調整的高效能應用程式。

  • Azure Databricks 是一個針對 Microsoft Azure 雲端服務平台進行最佳化的 Apache Spark 分析平台。

  • Azure Functions 是無伺服器計算選項,可讓應用程式視需要執行,而不需要管理基礎結構。

  • Azure 通知中樞 是可大幅調整的推播通知引擎,可快速地將通知傳送給各種行動裝置和平臺。

下一步

請參閱下列有關 Cosmos DB 的文章:

下列解決方案構想功能 Azure Cosmos DB: