成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

“王者榮耀”高并發背后的故事

開發
堪稱中國最火爆的手機游戲“王者榮耀”,擁有億級用戶體量,千萬級日活用戶,如何快速、低成本地保障業務突發?本文從該問題出發,論述了問題對應的解決方案,并對其效果做出總結。

“王者榮耀”高并發背后的故事

背景

“王者榮耀”是一款國民級手機游戲,用戶體量巨大,而且一直保持著較高的更新頻率。這種業務場景下,突發也變得非常頻繁,然而業務體驗是至關重要的,使用 CDN 必不可少。類似地,經常有帶寬突發的場景,比如新聞爆點視頻、大型直播活動、熱門影視劇上線、熱門游戲等應用發布。同時,由于家庭帶寬和移動網絡的快速升級,突發帶寬量級越來越大,經常達到 Tb 級,甚至 10Tb 。如何快速、低成本地保障業務突發,成為 CDN 的一大挑戰。

2007 年,騰訊自建 CDN 啟用,接入了***個業務騰訊網。到現在 CDN 帶寬量級,從最早的數十 Gb,發展到現在的數十 Tb;單業務的帶寬也越來越大,大部分業務常量帶寬在幾百 Gb,部分突發業務達到了 10Tb。網絡的快速升級,移動用戶爆發式增長,以及視頻類業務包括點播和直播的興起,使得業務突發越來越頻繁,突發帶寬越來越高,對CDN的要求也越來越高。

自建 CDN 得益于騰訊業務的蓬勃發展,先后支持了游戲下載、流媒體視頻加速、春節紅包等騰訊內部業務;2014 年騰訊將 CDN 全面能力開放,成為 騰訊云 CDN 產品,除承載內部業務外,也開始接入第三方客戶,比如快手點播、斗魚直播等。以上各種業務都有突發場景,也有很強的成本訴求,在如何低成本地保障業務突發,騰訊 CDN 積累了豐富的經驗。接下來就挑戰和問題、解決方案、效果三個方面來解析。

一、挑戰和問題

下面將從業務特點開始,分析目前存在的挑戰和問題。

1、 業務特點和挑戰

CDN 多樣化的場景,注定了突發業務充滿挑戰。突發業務具有體量大、場景多樣化、 無規律等特點。

  1. 體量大:突發業務帶寬大部分都超過 Tb,部分甚至達到了 10T ;
  2. 場景多樣化:點播中的熱劇和新聞爆點;直播中的 LOL/KPL/DOTA2 等游戲直播,NBA/世界杯等體育直播,演唱會等綜藝直播;應用下載中的王者榮耀等游戲下載;靜態網頁加速中的紅包活動、電商促銷等;
  3. 無規律:部分突發活動無法預知,活動快要開始或已經開始了才知道,比如新聞爆點。

體量大,需要準備更多的資源;場景多樣化,需要滿足不同的資源需求;無規律性則對我們的擴容效率提了很高的要求。

2、 目前存在的問題

僅僅為了滿足業務突發需求而儲備大量的資源,成本太高,會造成資源極大的浪費。所以一般會通過復用資源來應對業務突發。但是直接復用資源,存在兩個問題:

  1. 只能復用部分資源:CDN 業務,一般按業務類型來區分平臺和資源使用,主要原因是不同業務類型對資源需求不同,比如點播類需要更多的存儲;有較多 https 請求的靜態頁面類,則需要更多 CPU 資源。這種限制使得資源無法充分利用,加大了資源準備的難度。比如視頻突發主要使用視頻 Buffer,而下載類和網頁類 Buffer 無法直接使用,這限制了 Buffer 的大小。即使復用同類型資源,因為涉及多個業務資源的協調,準備時間一般會超過兩天,無法應對臨時突發;
  2. 無法降低成本:另外針對部分突發業務,比如游戲應用下載,帶寬高峰期在上午和中午,如果只使用本平臺資源,會導致結算帶寬明顯上漲,從而增加成本。無法利用同其他業務錯峰的特點來降低結算帶寬。

二、解決方案

騰訊云 CDN 通過虛擬化復用現有資源,搭建全業務通用的突發池,所有平臺共享 Buffer。 突發池中的設備為 Docker 虛擬機,虛擬機有不同的規格,只要業務有需求,都可以按需使用。突發池中的帶寬儲備達到了 10Tb,基本能滿足所有業務突發需求 。任何業務有突發需求,配合自動化上架接口,可在 10 分鐘完成 10Tb 突發池的擴容。

1、 突發池系統架構

突發池系統架構見圖 1

圖 1 突發池系統架構

  1. 突發池:在各平臺物理機的上層,由 Docker 虛擬機組成的資源池,對 CPU/內存/磁盤等使用進行了限制,防止對物理機造成影響。原有業務依然部署在物理機上,不用調整。
  2. 自動化部署和監控系統: 能根據業務實際需求,自動預測需求并擴容 。所有的突發需求,都能在 10 分鐘內擴容完成。針對點播/下載業務,自動分發熱點文件,降低回源帶寬。
  3. 調度系統:突發業務的突發性和體量大兩個特點,使得相比域名調度系統,直通車更占優勢。直通車調度更靈活,生效時間快,能達到分鐘級。

虛擬機和物理機部署了上報 Agent,業務信息和服務器負載每分鐘都會上報到監控系統。監控系統會根據歷史帶寬預測一個值,并與當前帶寬比較,如果當前帶寬超過預測值的 50%,則認為有突發。根據帶寬上漲的比例,系統會自動從突發池中擴容相應數據的設備。針對提前準備的突發活動,運維可以指定帶寬需求量,之后系統便會自動計算設備需求并擴容。

分鐘粒度上報的服務器負載信息則為監控系統做調度決策提供了依據。系統會依據機房剩余帶寬、服務器帶寬、CPU、IO 等綜合信息決定虛擬機是否需要從直通車中啟用或者禁用。用戶訪問時先請求直通車調度系統,直通車會根據調度策略返回一個 302 地址,302 地址中為實際 CDN 資源地址。用戶跳轉到 302 地址,并獲取實際內容。

2、技術優化

使用虛擬化技術復用資源的重要前提是,不影響現有業務。這就要求對資源有充分的隔離,比如 CPU/磁盤,以及對帶寬的使用。下面是實現過程中存在的幾個問題及解決方案:

精準控制單機負載:負載過高會影響業務質量,需要對單機負載進行精準的控制。


解決方案:

  1. 配額系統:直通車中有配額系統,對每個虛擬機可使用的資源做了限制,包括CPU/IO 和帶寬。監控系統中上報的信息,結合配額系統,可以確保服務器負載被限定在制定的范圍內,粒度為分鐘級。
  2. 部分請求返回 302:對 CPU/帶寬/IO 等做了限制后,應用程序能根據母機當前負載,實時判斷是否處理一個請求。如果負載在限制范圍內,直接處理;如果負載超出限制,則返回 302,使用戶跳轉到直通車的調度地址,這樣能在盡量不影響業務質量的情況對負載做精準控制。程序層面對負載的實時控制,是配額系統的有效補充。
  3. 網卡流量控制:在極端情況下,業務帶寬超過設定閾值,這時虛擬網卡會主動丟包,避免對母機造成影響。

 

限制磁盤大小:Docker 在 ext3/ext4 文件系統中無法對文件/目錄級別進行磁盤大小限制。


解決方案:

  • 由于騰訊云 CDN 業務基本都是使用 ext3/ext4 文件系統,這種情況下 Docker 只能對根據用戶或用戶組對磁盤進行限制,但現網業務都是直接在 root 環境下使用。這里我們使用 loop device 來解決磁盤大小限制問題。虛擬機中突發業務使用掛載在 loop device 上的目錄,這樣就可以間接限制磁盤大小,防止使用太多磁盤影響其他業務。

CPU綁定:默認是綁定所有 CPU,部分單 CPU 負載高會影響母機業務。


解決方案:

  • 通過腳本每分鐘采集一次系統所有單CPU負載,為避免頻繁調整和受毛刺數據影響,取15分鐘的均值。***選取負載較低的部分核,并通過配置文件cpuset.cpus來動態綁定,將虛擬機對母機業務影響降低到最小,并且能充分利用資源。

效果

突發池上線后,高效支持了王者榮耀下載、NBA 直播、KPL/LPL 游戲直播等多次大型突發活動,節約成本 2000萬。通過共享 buffer,搭建突發池能顯著提高突發能力和降低成本。

總結

騰訊云 CDN 通過 Docker 技術復用資源,搭建 Tb 級別突發池,能支持直播、點播、靜態等各種業務突發,能自動檢測到業務突發需求并在 10 分鐘內完成資源擴容,具有發布快,成本低等特點。資源復用能提高資源利用率,為業務提供極大的突發池,但要注意復用業務之間不能相互影響,這需要對服務器進行實時的監控和及時的調度。

另外還有一些待改進的地方,比如內核參數基于容器隔離,方便不同業務調優;部分業務客戶端不支持 302 跳轉,調度系統需要支持域名調度方式。 

 

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2017-10-30 08:20:16

王者榮耀騰訊云游戲

2017-10-24 10:15:05

CDN突發池系統架構

2012-10-17 13:50:25

2017-08-30 12:17:02

Python王者榮耀套路

2018-11-06 15:56:25

西門子工業網絡智能制造

2011-09-26 14:28:28

水果忍者

2017-07-10 14:20:45

2016-12-12 14:19:59

LLVMClangApple

2017-01-15 11:01:56

2014-04-14 10:06:22

.Net 開源

2021-08-06 06:49:19

王者榮耀項目IDEA

2021-09-05 18:26:42

2015-06-18 11:28:18

谷歌

2013-02-20 10:05:21

吳剛捕魚達人

2022-10-21 11:50:04

2012-06-19 16:11:56

2013-07-23 09:02:48

Facebook Ho應用設計

2016-12-12 14:24:25

蘋果Aqua界面

2023-09-26 07:33:41

2010-08-09 09:53:14

RailsRake
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 伊人网在线综合 | 久久婷婷国产香蕉 | 亚洲v日韩v综合v精品v | 自拍视频在线观看 | 午夜精品一区二区三区免费视频 | 日韩欧美视频在线 | 欧美一级黄带 | av黄色在线观看 | 国产精品久久久久久久久久久久久久 | 久久精品国产久精国产 | 欧美日高清视频 | 少妇特黄a一区二区三区88av | 成人精品一区二区 | 亚洲欧美日本在线 | 久久精品亚洲欧美日韩久久 | 91精品国产一区二区三区 | 久久亚洲综合 | 色在线免费视频 | 国产精品久久久久久 | 久草成人| 国产精品视频在线播放 | 日韩av免费在线电影 | 中文字幕1区2区3区 日韩在线视频免费观看 | 国产一区二区视频免费在线观看 | 91成人 | 一区二区三区亚洲精品国 | 91精品国产综合久久久久久首页 | 四虎影院在线观看免费视频 | 国产资源网| 色综合色综合色综合 | 亚洲高清在线视频 | 国产成人精品久久二区二区 | 91精品国产综合久久久久久漫画 | 国产精品毛片一区二区在线看 | 日韩www| 成人精品在线观看 | 日韩在线电影 | 男女羞羞的网站 | 久久综合九九 | 国产精品久久久久久久久久久久 | 亚洲36d大奶网 |