命名約定
為Azure中的任何服務(wù)挑選名稱至關(guān)重要,因?yàn)椋?/span>
以后再更改名稱會(huì)很困難。
名稱必須滿足其特定資源類型的要求。
一致的命名約定讓您能夠輕松找到服務(wù)。名稱還可以指示服務(wù)在解決方案中扮演的角色。
請(qǐng)參閱命名約定文章,該文章概述了Azure服務(wù)的命名規(guī)則和限制,以及關(guān)于命名約定的一組基準(zhǔn)建議。
資源組
在Azure中,所有資源都是在資源管理組中分配的。資源組提供資源的邏輯分組,使它們更易于作為集合使用,從而可以按生存期、所有者或其他條件進(jìn)行管理。
有關(guān)所有詳細(xì)信息,請(qǐng)參閱管理資源組頁面。
Azure存儲(chǔ)區(qū)域
如果不同存儲(chǔ)資源的輸入和輸出位于不同的區(qū)域,則您需要為在區(qū)域之間移動(dòng)數(shù)據(jù)支付費(fèi)用。有關(guān)詳細(xì)信息,請(qǐng)參閱帶寬定價(jià)詳細(xì)信息。在同一區(qū)域中配對(duì)Azure服務(wù),以避免出站數(shù)據(jù)傳輸。
提示
嘗試使用最靠近大多數(shù)用戶的區(qū)域。
安全性
在使用Azure設(shè)計(jì)、部署和管理云解決方案時(shí),請(qǐng)參閱此安全最佳實(shí)踐集合。這些最佳實(shí)踐來自我們的Azure的體驗(yàn)以及像您這樣的開發(fā)者的經(jīng)驗(yàn)。
白皮書的各部分以單獨(dú)的文章形式發(fā)布,如下所列:
優(yōu)化標(biāo)識(shí)和訪問管理
使用強(qiáng)大的網(wǎng)絡(luò)控制
鎖定和保護(hù)VM及計(jì)算機(jī)操作系統(tǒng)
保護(hù)數(shù)據(jù)
保護(hù)數(shù)據(jù)庫
定義和部署強(qiáng)大的運(yùn)營安全做法
設(shè)計(jì)、構(gòu)建和管理安全的云應(yīng)用程序
有關(guān)其他安全最佳實(shí)踐,請(qǐng)參閱Azure安全最佳實(shí)踐和模式。
另請(qǐng)查看Azure DDoS防護(hù):最佳實(shí)踐和參考體系結(jié)構(gòu)文檔。
隱私
為了減少隱私責(zé)任足跡,請(qǐng)利用某些存儲(chǔ)用戶數(shù)據(jù)的服務(wù)所提供的功能:
您可以使用Azure Cosmos DB TTL(生存時(shí)間)使自動(dòng)存儲(chǔ)在Azure Cosmos DB中的舊數(shù)據(jù)過期,從而設(shè)置將清除已存儲(chǔ)文檔的時(shí)間范圍。
您可以使用Azure Blob存儲(chǔ)生命周期管理策略在blob生命周期結(jié)束時(shí)刪除它們。
Azure資源管理器
利用Azure資源管理器創(chuàng)建、更新和刪除您的Azure訂閱中的資源。如果遇到問題,請(qǐng)參閱使用Azure資源管理器解決常見的Azure部署錯(cuò)誤和解決資源提供程序注冊(cè)錯(cuò)誤。
Azure事件中心分區(qū)
一旦創(chuàng)建分區(qū),將無法更改分區(qū)數(shù)。當(dāng)您計(jì)劃進(jìn)入生產(chǎn)階段并且可能會(huì)從大量用戶那里接收事件時(shí),您應(yīng)該事先進(jìn)行一些計(jì)算,并結(jié)合負(fù)載測試和數(shù)據(jù)使用情況,找出所需的確切分區(qū)數(shù)量。
有關(guān)基于Azure事件中心設(shè)計(jì)全球范圍遙測平臺(tái)和調(diào)整其大小的完整視頻指南,請(qǐng)觀看此視頻。
1吞吐量單位(下文以TU表示)等于1 MB/秒或1000條消息/秒,以先達(dá)到者為準(zhǔn)。您將需要為TU付費(fèi);要調(diào)整成本,您可以根據(jù)負(fù)載要求更改TU。
每個(gè)單獨(dú)分區(qū)的最大入口限制為1 MB/秒或1000條消息/秒,以先達(dá)到者為準(zhǔn)。請(qǐng)參考以下原則來確定分區(qū)數(shù):
分區(qū)提供高可用性。如果您要向事件中心發(fā)送消息并希望發(fā)送成功,則應(yīng)創(chuàng)建多個(gè)分區(qū)并使用EventHubClient.Send發(fā)送。
分區(qū)數(shù)將決定事件中心管道的寬度以及您可以接收和處理消息的速度。如果您的Azure事件中心有16個(gè)分區(qū),則其最大容量為16 TU。打個(gè)比方,分區(qū)就相當(dāng)于高速公路上的車道。
TU在命名空間級(jí)別進(jìn)行配置。同樣,一個(gè)事件中心命名空間可以有多個(gè)Azure事件中心。每個(gè)Azure事件中心可以有不同數(shù)量的分區(qū)。
您不能使用多于分區(qū)數(shù)的TU:如果您有3個(gè)分區(qū),則無法使用3個(gè)以上的TU。分區(qū)數(shù)通常多于TU數(shù),原因如下:
當(dāng)流量增加時(shí),您可以增加TU數(shù),但不能更改分區(qū)數(shù)。
您的并發(fā)讀取器的數(shù)量不能多于分區(qū)數(shù)。如果您需要10個(gè)并發(fā)讀取器,則需要10個(gè)分區(qū)。
提示
推薦的路徑是在開發(fā)解決方案時(shí)以1 TU為起點(diǎn)對(duì)分區(qū)數(shù)進(jìn)行建模。完成此階段后,當(dāng)您在封閉測試期間進(jìn)行負(fù)載測試時(shí),增加TU來適應(yīng)您的負(fù)載。提醒一下,您可以在同一事件中心命名空間中擁有多個(gè)Azure事件中心。因此,在Azure事件中心命名空間級(jí)別具有20個(gè)TU和具有4個(gè)分區(qū)的10個(gè)事件中心的情況下,每個(gè)可以在整個(gè)Azure事件中心命名空間中提供20 MBPS。
Azure Cosmos DB
Azure Cosmos DB資源依據(jù)設(shè)置的吞吐量和存儲(chǔ)計(jì)費(fèi)。Azure Cosmos DB吞吐量以每秒請(qǐng)求單位的形式表示(下文以RU/s表示)。
為了提供可預(yù)測的性能,您應(yīng)該以100 RU/秒為單位預(yù)留吞吐量。您可以使用Azure Cosmos DB請(qǐng)求單位計(jì)算器來估計(jì)吞吐量需求。
提示
根據(jù)經(jīng)驗(yàn)/最佳實(shí)踐,最大RU數(shù)不應(yīng)超過最小/穩(wěn)態(tài)吞吐量的20倍。
您可以立即提高到初始設(shè)置吞吐量的2倍。您可以異步增加到任何吞吐量值,最高異步提高到1M(通過支持票證可進(jìn)一步提高)。
您可以立即降低到初始設(shè)置吞吐量的10倍(總范圍為20倍)。但在某些情況下,有可能降低到此范圍以外。
有關(guān)詳細(xì)信息,請(qǐng)參閱在Azure Cosmos容器和數(shù)據(jù)庫上設(shè)置吞吐量。
Azure存儲(chǔ)帳戶限制
Azure存儲(chǔ)具有某些限制,詳見Azure訂閱服務(wù)限制頁面。
如果您的游戲需求超出了單個(gè)存儲(chǔ)帳戶的可伸縮性目標(biāo),您可以構(gòu)建應(yīng)用程序以使用多個(gè)存儲(chǔ)帳戶。然后,您可以跨這些存儲(chǔ)帳戶對(duì)數(shù)據(jù)對(duì)象進(jìn)行分區(qū)。
Azure存儲(chǔ)資源管理器
Azure存儲(chǔ)資源管理器是一種工具,可讓您輕松管理Azure存儲(chǔ)資源。上傳、下載和管理blob、文件、隊(duì)列、表和Azure Cosmos DB實(shí)體。輕松訪問以管理您的虛擬機(jī)磁盤。支持Windows、MacOS和Linux。
Azure流分析單位
選擇特定作業(yè)所需的流單位(下文以SU表示)的數(shù)量取決于作業(yè)中定義的輸入和查詢分區(qū)配置。最佳實(shí)踐是分配多于所需數(shù)量的SU。Azure流分析處理引擎以分配額外內(nèi)存為代價(jià)對(duì)延遲和吞吐量進(jìn)行優(yōu)化。
通常,最佳實(shí)踐是對(duì)于不使用PARTITION BY的查詢,從6個(gè)SU開始,然后使用試錯(cuò)法(即:傳入具有代表性的數(shù)據(jù)量后,檢查SU%利用率指標(biāo),然后修改SU數(shù))確定最佳數(shù)量。流分析作業(yè)所能使用的最大流單元數(shù)取決于為作業(yè)定義的查詢中的步驟數(shù),以及每一步中的分區(qū)數(shù)??稍诖颂幜私庥嘘P(guān)這些限制的詳細(xì)信息。
有關(guān)選擇合適數(shù)量的SU的詳細(xì)信息,請(qǐng)參閱下面的頁面:縮放Azure流分析作業(yè)以增加吞吐量
備注
選擇特定作業(yè)所需的SU數(shù)目時(shí),需根據(jù)輸入的分區(qū)配置以及為作業(yè)定義的查詢來決定。您可以為一項(xiàng)作業(yè)選擇最多達(dá)到您的配額的SU。默認(rèn)情況下,對(duì)于特定區(qū)域中的所有分析作業(yè),每個(gè)Azure訂閱有多達(dá)200 SU的配額。要使訂閱的SU數(shù)量超出此配額,必須與Microsoft支持聯(lián)系。每個(gè)作業(yè)的SU的有效值為1、3、6,以6為增量遞增。
此外,Azure流分析使用可變大小批次處理事件和寫入輸出。通常,Azure流分析引擎不會(huì)一次寫入一條消息,而是使用批處理來提高效率。當(dāng)傳入和傳出事件的發(fā)生率都很高時(shí),它將使用較大的批次。當(dāng)出口速率較低時(shí),它將使用較小的批次,以保持較低的延遲。請(qǐng)參閱輸出批次大小頁面,該頁面介紹一些關(guān)于輸出批次的Azure流分析注意事項(xiàng)。
Azure Database for MySQL
使用Azure Database for MySQL開發(fā)“云-本機(jī)”游戲應(yīng)用程序時(shí),重試邏輯和連接池是必不可少的組件。將Azure Database for MySQL數(shù)據(jù)庫游戲構(gòu)建為檢測和重試斷開的連接和失敗的事務(wù)至關(guān)重要。當(dāng)應(yīng)用程序重試時(shí),應(yīng)用程序的連接將透明地重定向到新創(chuàng)建的實(shí)例,該實(shí)例接管發(fā)生故障的實(shí)例。Azure內(nèi)部使用網(wǎng)關(guān)將連接重定向到此新實(shí)例。發(fā)生中斷時(shí),整個(gè)故障轉(zhuǎn)移過程通常需要數(shù)十秒鐘。由于重定向是由網(wǎng)關(guān)內(nèi)部處理的,因此外部連接字符串對(duì)于客戶端應(yīng)用程序保持不變。大多數(shù)游戲應(yīng)用程序?qū)ρ舆t的要求都很低,因此強(qiáng)烈建議為運(yùn)行在Azure Database for MySQL上的游戲應(yīng)用程序使用連接池。如果不使用連接池,在會(huì)話結(jié)束時(shí)打開和關(guān)閉連接可能會(huì)導(dǎo)致額外的延遲開銷。請(qǐng)參閱管理連接,了解如何在訪問數(shù)據(jù)庫時(shí)合理使用連接。
關(guān)于縱向擴(kuò)展或收縮:當(dāng)縱向擴(kuò)展或收縮Azure Database for MySQL時(shí),將創(chuàng)建具有指定大小的新服務(wù)器實(shí)例?,F(xiàn)有數(shù)據(jù)存儲(chǔ)與原始實(shí)例分離,然后附加到新實(shí)例。在縮放操作期間,數(shù)據(jù)庫連接將發(fā)生中斷??蛻舳藨?yīng)用程序斷開連接,打開的未提交事務(wù)將被取消??蛻舳藨?yīng)用程序重試連接或建立新連接后,網(wǎng)關(guān)將連接定向到新調(diào)整大小的實(shí)例。有關(guān)詳細(xì)信息,請(qǐng)參閱縮放資源。
以下鏈接介紹容量、存儲(chǔ)引擎支持、權(quán)限支持、數(shù)據(jù)操作語句支持以及數(shù)據(jù)庫服務(wù)中的功能限制。
值得注意的是,當(dāng)可用存儲(chǔ)空間不足5 GB或設(shè)置存儲(chǔ)的5%時(shí),服務(wù)器會(huì)被標(biāo)記為只讀,建議您設(shè)置警報(bào)以在服務(wù)器存儲(chǔ)空間接近閾值時(shí)通知您,以便您可以避免進(jìn)入只讀狀態(tài)。有關(guān)詳細(xì)信息,請(qǐng)參閱有關(guān)如何設(shè)置警報(bào)的文檔。
Azure容器實(shí)例
通常,建議在Windows上通過Azure容器實(shí)例使用Linux,因?yàn)閃indows容器通常是較重的部署映像,需要更長的時(shí)間來啟動(dòng)和加載。此外,通過Azure容器實(shí)例使用Linux還能提供一些Windows當(dāng)前尚不支持的功能集,例如虛擬網(wǎng)絡(luò)。