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

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

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

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

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

multiplayer-custom-game-server-scaling.png

參考實現(xiàn)詳細信息

每個虛擬機都包含一個運行游戲會話的Docker容器。虛擬機啟動后,它會立即實例化Docker容器,并通過自定義腳本擴展(Linux,Windows)打開所需的網(wǎng)絡(luò)端口。每個容器都有自己的公共專用IP地址。

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

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

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

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

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

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

部署模板

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

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

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

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

備注

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

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

Azure容器注冊表模板

提示

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

定價

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

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

Azure Windows虛擬機

Azure Linux虛擬機

Azure磁盤存儲

Azure Functions

Azure容器注冊表

Azure表存儲

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

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Microsoft Azure,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多