- Linux運維最佳實踐
- 胥峰 楊俊俊
- 678字
- 2019-01-04 00:50:54
最佳實踐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 大規模下載調度系統架構圖
- Mastering vRealize Operations Manager(Second Edition)
- Citrix XenApp Performance Essentials
- 鴻蒙生態:開啟萬物互聯的智慧新時代
- Windows Phone應用程序開發
- Java EE 8 Design Patterns and Best Practices
- 巧學活用Windows 7
- Mastering Reactive JavaScript
- 計算機應用基礎(Windows 7+Office 2016)
- Python UNIX和Linux系統管理指南
- Linux從入門到精通(視頻教學版)
- Linux指令從初學到精通
- Selenium Framework Design in Data-Driven Testing
- Mastering Spring Cloud
- 操作系統實用教程
- 構建高可用Linux服務器