使用 Azure Cosmos DB 的遊戲

Azure App Service
Azure Cosmos DB

解決方案構想

本文是解決方案概念。 如果您想要使用詳細資訊來擴充內容,例如潛在的使用案例、替代服務、實作考慮或定價指引,請提供 GitHub 意見反應讓我們知道。

此遊戲解決方案概念可彈性調整您的資料庫,以容納無法預測的流量高載,並在全球範圍內提供低延遲的多玩家體驗。

架構

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

下載此架構的 Visio 檔案

資料流程

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

元件

此架構包含下列元件:

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

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

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

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

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

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

  • Azure Databricks 是針對 Microsoft Azure 雲端服務平台優化的 Apache Spark 型分析平臺。

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

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

案例詳細資料

潛在的使用案例

這個特定案例是以遊戲開發產業的遊戲案例為基礎。 設計模式與處理高流量 Web 呼叫和 API 要求所需的許多產業相關,例如電子商務和零售應用程式。

下一步

檢閱 Azure Cosmos DB 上的下列文章:

產品檔案:

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