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

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

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

體系結(jié)構(gòu)關(guān)系圖

multiplayer-batch-hosting.png

相關(guān)服務(wù)

Azure流量管理器-選擇此服務(wù)是因?yàn)樗梢愿鶕?jù)延遲情況將玩家連接到最合適的區(qū)域。

Azure Batch-它用于創(chuàng)建虛擬機(jī)和打開端口。選擇此服務(wù)是因?yàn)樗梢愿鶕?jù)您定義的參數(shù)自動(dòng)縮放池。

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

體系結(jié)構(gòu)注意事項(xiàng)

體系結(jié)構(gòu)會(huì)有一些不同,具體取決于虛擬機(jī)運(yùn)行的操作系統(tǒng)以及使用的是平臺(tái)映像還是自定義映像。

操作系統(tǒng)

Windows

要啟動(dòng)并運(yùn)行Windows Server虛擬機(jī)并準(zhǔn)備好安排計(jì)劃,所花費(fèi)的時(shí)間大約是Linux虛擬機(jī)的兩倍。

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

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

Linux

啟動(dòng)并運(yùn)行Linux并準(zhǔn)備好安排計(jì)劃大約比Windows快兩倍。

平臺(tái)映像

平臺(tái)/市場(chǎng)映像

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

在長(zhǎng)期運(yùn)行的池上使用平臺(tái)映像的缺點(diǎn)在于,映像可能會(huì)被棄用并從存儲(chǔ)庫(kù)中刪除,并且池可能永遠(yuǎn)不能擴(kuò)展。

自定義映像

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

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

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

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

容器

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

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

部署模板

單擊下面的按鈕,將項(xiàng)目部署到您的Azure訂閱:

azure-resource-manager-deploy-button.png

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

創(chuàng)建一個(gè)Azure存儲(chǔ)帳戶。

創(chuàng)建一個(gè)與Azure存儲(chǔ)帳戶關(guān)聯(lián)的Azure Batch帳戶。

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

該池具有一個(gè)空的開始任務(wù),可用于啟動(dòng)游戲服務(wù)器。

這可能會(huì)在您的Azure帳戶中產(chǎn)生相應(yīng)費(fèi)用。

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

備注

如果您對(duì)ARM模板的工作原理感興趣,請(qǐng)參閱此參考體系結(jié)構(gòu)中使用的每個(gè)不同服務(wù)對(duì)應(yīng)的Azure資源管理器模板文檔:

Azure Batch池模板參考

分步操作

玩家的設(shè)備客戶端連接到Azure流量管理器,以傳送要查找游戲服務(wù)器的玩家請(qǐng)求。

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

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

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

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

每臺(tái)玩家設(shè)備都使用由Matchmaker提供的連接信息直接連接到游戲服務(wù)器。

游戲會(huì)話結(jié)束后,系統(tǒng)將存儲(chǔ)相關(guān)信息。

縮放

借助Azure Batch自動(dòng)縮放,服務(wù)會(huì)動(dòng)態(tài)地調(diào)整節(jié)點(diǎn),隨著任務(wù)需求的增加將節(jié)點(diǎn)添加到池,并隨著需求的減少而移除計(jì)算節(jié)點(diǎn)。

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

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

或者,您可以像本例中一樣,向Matchmaker分配任務(wù)來主動(dòng)告知Azure Batch何時(shí)橫向擴(kuò)展。

安全注意事項(xiàng)

當(dāng)您在虛擬網(wǎng)絡(luò)中包含Azure Batch虛擬機(jī)服務(wù)池時(shí),需要遵循一些要求。

其他資源和示例

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

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

黃色方塊表示虛擬機(jī)無法使用,因?yàn)樗鼈冋趩?dòng)或關(guān)閉。

綠色方塊表示虛擬機(jī)當(dāng)前正在運(yùn)行工作負(fù)載。

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

定價(jià)

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

您需要承擔(dān)運(yùn)行這些參考體系結(jié)構(gòu)時(shí)使用的Azure服務(wù)的費(fèi)用,總金額取決于將通過分析管道運(yùn)行的事件數(shù)。請(qǐng)參閱參考體系結(jié)構(gòu)中使用的每項(xiàng)服務(wù)的定價(jià)網(wǎng)頁(yè):

Azure Batch

Azure流量管理器

您還可以使用Azure定價(jià)計(jì)算器,以配置和估算您計(jì)劃使用的Azure服務(wù)的成本。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Microsoft Azure,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
隨著人工智能技術(shù)持續(xù)重塑企業(yè)運(yùn)營(yíng)方式,企業(yè)需要能夠處理海量數(shù)據(jù)的系統(tǒng),以支持實(shí)時(shí)洞察,同時(shí)幫助他們應(yīng)對(duì)跨IT和OT環(huán)境(包括云端、邊緣和本地)中運(yùn)營(yíng)、應(yīng)用、數(shù)據(jù)和基礎(chǔ)設(shè)施的協(xié)作難題。
Azure
微軟云
云服務(wù)
2024-12-172024-12-17
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來
.NET 9現(xiàn)已正式發(fā)布,它為.NET平臺(tái)的發(fā)展掀開了嶄新的一頁(yè),突破了性能、云原生開發(fā)和AI技術(shù)集成的邊界。
Azure
微軟云
云服務(wù)
2024-12-162024-12-16
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
智能Microsoft Copilot副駕駛for Azure網(wǎng)絡(luò)服務(wù)現(xiàn)已推出公共預(yù)覽版。
Azure
微軟云
云服務(wù)
2024-12-102024-12-10
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
一年前,我們正式推出了一款端到端數(shù)據(jù)平臺(tái),旨在幫助組織推動(dòng)人工智能轉(zhuǎn)型,并重新定義數(shù)據(jù)的連接、管理和分析方式。
Azure
微軟云
云服務(wù)
2024-12-092024-12-09
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家