Azure:自定義游戲服務(wù)器擴(kuò)展參考體系結(jié)構(gòu)

來(lái)源: Microsoft Azure
作者:Microsoft Azure
時(shí)間:2021-01-05
17016
了解如何使用Docker容器化您的游戲服務(wù)器,以及如何使用Azure資源管理器模板、Azure Functions和DevOps實(shí)踐為服務(wù)器構(gòu)建可靠的自動(dòng)化部署過(guò)程。

了解如何使用Docker容器化您的游戲服務(wù)器,以及如何使用Azure資源管理器模板、Azure Functions和DevOps實(shí)踐為服務(wù)器構(gòu)建可靠的自動(dòng)化部署過(guò)程。

請(qǐng)參閱使用Docker和Azure編排和擴(kuò)展Icebird的游戲服務(wù)器,閱讀所有詳細(xì)信息。GitHub上有源代碼和部署模板可用。

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

multiplayer-custom-game-server-scaling.png

參考實(shí)現(xiàn)詳細(xì)信息

每個(gè)虛擬機(jī)都包含一個(gè)運(yùn)行游戲會(huì)話(huà)的Docker容器。虛擬機(jī)啟動(dòng)后,它會(huì)立即實(shí)例化Docker容器,并通過(guò)自定義腳本擴(kuò)展(Linux,Windows)打開(kāi)所需的網(wǎng)絡(luò)端口。每個(gè)容器都有自己的公共專(zhuān)用IP地址。

此外,還有一個(gè)獲取服務(wù)器Azure Functions,它在應(yīng)用服務(wù)計(jì)劃上運(yùn)行,可提供其他縮放選項(xiàng),如應(yīng)用服務(wù)環(huán)境文檔中所述。任何應(yīng)用服務(wù)必須具有Azure存儲(chǔ)帳戶(hù),并且Azure Functions服務(wù)將預(yù)配它。在此存儲(chǔ)帳戶(hù)中,Azure表存儲(chǔ)表用于存儲(chǔ)有關(guān)服務(wù)器池的信息,包括服務(wù)器的唯一標(biāo)識(shí)符、它的IP地址、端口和狀態(tài)。獲取服務(wù)器Azure Functions使用此信息將連接詳細(xì)信息返回到客戶(hù)端,并將服務(wù)器標(biāo)記為在使用時(shí)不可用。

若要幫助縮放服務(wù)器池,使用計(jì)時(shí)器觸發(fā)的自動(dòng)縮放Azure Functions。每隔一分鐘左右,它就會(huì)查看有多少臺(tái)服務(wù)器可用,并根據(jù)需要添加其他服務(wù)器。如果池中有太多未使用的服務(wù)器,它將取消這些服務(wù)器的設(shè)置。您可以設(shè)置池中要有多少臺(tái)服務(wù)器。

游戲服務(wù)器啟動(dòng)后,需要與第三個(gè)發(fā)送詳細(xì)信息Azure Functions通信,宣布它的存在,以便可以在Azure表存儲(chǔ)中更新相關(guān)的連接信息。

游戲會(huì)話(huà)完成后,游戲服務(wù)器會(huì)對(duì)Azure Functions上的第四個(gè)游戲會(huì)話(huà)執(zhí)行ping操作,以更新該特定服務(wù)器的Azure表存儲(chǔ)的狀態(tài)。

最終目標(biāo)是盡可能快地釋放虛擬機(jī),因此這個(gè)體系結(jié)構(gòu)側(cè)重于僅為每個(gè)虛擬機(jī)提供一個(gè)游戲會(huì)話(huà)。

留意Azure限制頁(yè)面,了解您將能夠基于Azure存儲(chǔ)限制運(yùn)行的并發(fā)用戶(hù)數(shù)量。如果需要擴(kuò)展,請(qǐng)考慮使用Azure Cosmos DB及其表API替換Azure表存儲(chǔ)。

部署模板

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

azure-resource-manager-deploy-button (1).png

此操作將觸發(fā)模板部署,即系統(tǒng)會(huì)將template.json ARM模板文件部署到您的Azure訂閱,從而創(chuàng)建必要的Azure資源。這可能會(huì)在您的Azure帳戶(hù)中產(chǎn)生相應(yīng)費(fèi)用。

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

備注

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

對(duì)Azure Functions中的函數(shù)應(yīng)用自動(dòng)執(zhí)行資源部署

Azure容器注冊(cè)表模板

提示

要在本地運(yùn)行Azure Functions,請(qǐng)使用這些相同的應(yīng)用設(shè)置更新local.settings.json文件。

定價(jià)

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

您需要承擔(dān)運(yùn)行這些參考體系結(jié)構(gòu)時(shí)所使用的Azure服務(wù)的費(fèi)用??偨痤~將因使用情況而異。請(qǐng)參閱參考體系結(jié)構(gòu)中使用的每項(xiàng)服務(wù)的定價(jià)網(wǎng)頁(yè):

Azure Windows虛擬機(jī)

Azure Linux虛擬機(jī)

Azure磁盤(pán)存儲(chǔ)

Azure Functions

Azure容器注冊(cè)表

Azure表存儲(chǔ)

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

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lá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ì)算潛力:更快、更智能、面向未來(lái)
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來(lái)
.NET 9現(xiàn)已正式發(fā)布,它為.NET平臺(tái)的發(fā)展掀開(kāi)了嶄新的一頁(yè),突破了性能、云原生開(kāi)發(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ù)商推薦
更多
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家