使用 Cosmos DB 的遊戲

API 應用程式
Cosmos DB

解決方案構想

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

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

潛在使用案例

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

架構

Architecture Diagram下載此架構的 SVG

資料流程

  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 通知中樞 是可大幅調整的推播通知引擎,可快速將通知傳送至各種行動裝置和平臺。

下一步

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

產品文件:

下列解決方案概念包含 Azure Cosmos DB: