使用 Azure Batch 實現(xiàn)同步多人游戲

來源: Microsoft Azure
作者:Microsoft Azure
時間:2021-01-04
16917
游戲服務器池由Azure Batch管理,負責創(chuàng)建虛擬機和開放端口。每個地區(qū)都將有自己的游戲服務器池。

游戲服務器池由Azure Batch管理,負責創(chuàng)建虛擬機和開放端口。每個地區(qū)都將有自己的游戲服務器池。

體系結構關系圖

multiplayer-batch-hosting.png

相關服務

Azure流量管理器-選擇此服務是因為它可以根據(jù)延遲情況將玩家連接到最合適的區(qū)域。

Azure Batch-它用于創(chuàng)建虛擬機和打開端口。選擇此服務是因為它可以根據(jù)您定義的參數(shù)自動縮放池。

針對Azure流量管理器使用一個資源組,并針對每個區(qū)域虛擬機群集各使用一個資源組。

體系結構注意事項

體系結構會有一些不同,具體取決于虛擬機運行的操作系統(tǒng)以及使用的是平臺映像還是自定義映像。

操作系統(tǒng)

Windows

要啟動并運行Windows Server虛擬機并準備好安排計劃,所花費的時間大約是Linux虛擬機的兩倍。

目前,Windows Server 2012的性能優(yōu)于Windows Server 2016。

值得一提的是,如果您已擁有有效的Windows本地部署許可證,可能不必支付該SKU的全部費用。

Linux

啟動并運行Linux并準備好安排計劃大約比Windows快兩倍。

平臺映像

平臺/市場映像

它們可使用安全修補程序進行更新。我們?yōu)檫@些映像提供支持。

在長期運行的池上使用平臺映像的缺點在于,映像可能會被棄用并從存儲庫中刪除,并且池可能永遠不能擴展。

自定義映像

自定義映像的啟動時間可能會有很大差別,具體取決于已提供源的自定義軟件和數(shù)據(jù)。

優(yōu)勢在于,您可以使用OSDisk中所有預安裝的軟件/數(shù)據(jù)來讓映像準備就緒。

自定義映像源磁盤可以是以下三種類型之一:1.快照,2.Manageddisk,3.VHD。

目前,我們建議使用“快照”源磁盤。存儲有擴展限制,Azure Batch一次性可擴展的虛擬機數(shù)量不得超過2500臺。

容器

如果您已在Linux容器中將游戲容器化,可以使用預先制好的映像來運行容器。請參閱在Azure Batch上運行容器應用程序,了解如何創(chuàng)建支持運行容器任務的計算節(jié)點池,然后在池中運行容器任務。

請查看此鏈接中記錄的microsoft-azure-batch發(fā)布者,了解可用的Linux映像。

部署模板

單擊下面的按鈕,將項目部署到您的Azure訂閱:

azure-resource-manager-deploy-button.png

此操作將觸發(fā)模板部署,即系統(tǒng)會將BatchWithPoolDeploy.json ARM模板文件部署到您的Azure訂閱,從而創(chuàng)建必要的Azure資源。更確切地說:

創(chuàng)建一個Azure存儲帳戶。

創(chuàng)建一個與Azure存儲帳戶關聯(lián)的Azure Batch帳戶。

在D2s_v3 Windows Server 2016上創(chuàng)建一個包含5個節(jié)點(默認)的池。

該池具有一個空的開始任務,可用于啟動游戲服務器。

這可能會在您的Azure帳戶中產生相應費用。

請查看一般指南文檔,其中有一篇文章概述了Azure服務的命名規(guī)則和限制。

備注

如果您對ARM模板的工作原理感興趣,請參閱此參考體系結構中使用的每個不同服務對應的Azure資源管理器模板文檔:

Azure Batch池模板參考

分步操作

玩家的設備客戶端連接到Azure流量管理器,以傳送要查找游戲服務器的玩家請求。

Azure流量管理器連接到具有最低延遲的區(qū)域,并指向可獲取可用游戲服務器的Matchmaker。

Matchmaker包含選擇游戲服務器所需的所有信息,并且如果需要更多容量,它會主動ping Azure Batch服務以開始橫向擴展。

Azure Batch服務接收到該請求并開始橫向擴展。如果設置了自動縮放,它可能會根據(jù)已建立的規(guī)則主動開始該流程。

游戲服務器會在游戲會話結束后且服務器可用時,定期向Matchmaker發(fā)送狀態(tài)更新以及服務器的最新IP和端口。

每臺玩家設備都使用由Matchmaker提供的連接信息直接連接到游戲服務器。

游戲會話結束后,系統(tǒng)將存儲相關信息。

縮放

借助Azure Batch自動縮放,服務會動態(tài)地調整節(jié)點,隨著任務需求的增加將節(jié)點添加到池,并隨著需求的減少而移除計算節(jié)點。

您可以在計算節(jié)點池上啟用自動縮放,方法是將它與您定義的自動縮放公式相關聯(lián)。Azure Batch服務會使用該自動縮放公式來確定執(zhí)行工作負載所需的計算節(jié)點數(shù)。

您可以在創(chuàng)建池時或在現(xiàn)有池上啟用自動縮放。您還可以在已配置為自動縮放的池上更改現(xiàn)有公式。借助Azure Batch,您可以在將公式分配到池之前對它們進行評估,并監(jiān)控自動縮放的運行狀態(tài)。

或者,您可以像本例中一樣,向Matchmaker分配任務來主動告知Azure Batch何時橫向擴展。

安全注意事項

當您在虛擬網(wǎng)絡中包含Azure Batch虛擬機服務池時,需要遵循一些要求。

其他資源和示例

Azure Batch Explorer:允許您與Azure Batch服務進行交互的工具,以便在Azure Batch帳戶中查看、管理、監(jiān)控和調試實體。提供一張熱度地圖,用于查看所有運行的虛擬機及其當前狀態(tài),下面是地圖解讀方法:

白色方塊表示虛擬機處于空閑狀態(tài),可隨時接受一些工作。

黃色方塊表示虛擬機無法使用,因為它們正在啟動或關閉。

綠色方塊表示虛擬機當前正在運行工作負載。

紅色方塊表示虛擬機處于故障狀態(tài)。

定價

如果您沒有Azure訂閱,可以創(chuàng)建免費帳戶,開始使用12個月的免費服務。除非您超出這些服務的使用限制,否則無需為Azure免費帳戶中包含的這些免費服務付費。了解如何通過Azure門戶或使用情況文件查看服務使用情況。

您需要承擔運行這些參考體系結構時使用的Azure服務的費用,總金額取決于將通過分析管道運行的事件數(shù)。請參閱參考體系結構中使用的每項服務的定價網(wǎng)頁:

Azure Batch

Azure流量管理器

您還可以使用Azure定價計算器,以配置和估算您計劃使用的Azure服務的成本。

立即登錄,閱讀全文
版權說明:
本文內容來自于Microsoft Azure,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家