官术网_书友最值得收藏!

最佳實踐13:設計大規模下載調度系統

在游戲運維中,高效地實現用戶對游戲客戶端的下載,是對CDN等分發系統的核心需求。在盛大游戲運營的大型端游公測首日,CDN的帶寬使用量多次超過100Gbps,高峰時甚至達到200Gbps左右。

游戲客戶端的下載,和一般的網站類應用使用到的靜態文件(如圖片、CSS等)具有明顯的區別。

·游戲客戶端一般較大,目前主流的游戲客戶端往往超過10GB。如傳奇世界版本號為2.1.0.40發布版為10.9GB。

·用戶下載時間較集中。用戶對于客戶端的下載,對于新游戲來說一般集中于公測前一天、公測首日;對于運營中游戲,一般在新版本外放當天下載量較大。這種用戶行為直接導致下載帶寬出現集中的高峰。

在這個體量的下載流量下,我們設計了一整套CDN下載調度系統,以應對游戲客戶端的高并發下載。

該調度系統有如下特點。

·支持接入多個外部CDN廠商。

·支持接入自有的下載節點。

·實現對下載客戶端分流的精確配比。

·多機房同時提供服務。

·分配策略修改實時生效。

該調度系統的架構圖如圖2-5所示。

操作流程說明如下。

1)運維人員通過配置服務器來配置調度策略,策略內容是對某域名或者URL分配不同廠商的CDN權重。

2)客戶端解析到某個調度節點(如調度節點1)然后發送HTTP請求下載游戲客戶端URL。

3)DLC調度服務器根據步驟(1)中配置的權重,使用HTTP 302 Location發生,分配該玩家到指定的某外部CDN廠商,Location是NEW_URL。

4)游戲玩家使用NEW_URL請求到外部CDN節點。

5)外部CDN節點進行響應數據返回。

這種架構有以下優點。

·在這種架構中,對單個調度節點來說,使用LVS進行負載均衡后,DLC調度服務器可以橫向擴展。

·多個機房使用DNS多A記錄進行調度,減少單機房故障導致的影響。

圖2-5 大規模下載調度系統架構圖

主站蜘蛛池模板: 永新县| 靖州| 昌吉市| 玉田县| 柳江县| 客服| 南川市| 桓仁| 沿河| 尖扎县| 珲春市| 松滋市| 莱西市| 福贡县| 甘肃省| 溧阳市| 宁远县| 德化县| 沁阳市| 长武县| 连州市| 莱阳市| 岱山县| 五寨县| 朔州市| 海盐县| 穆棱市| 开阳县| 张家港市| 吉林省| 新河县| 名山县| 葫芦岛市| 天全县| 资溪县| 赤水市| 开鲁县| 浮梁县| 凌云县| 平顺县| 舞阳县|