百度如何優化多數據中心的帶寬成本?(1)
2016-02-20 19:34:02 來源: 熊亞軍 高效運維 評論:0 點擊:
三、外網流量優化的困難和挑戰
由于峰值計費的收費模式,每個數據中心經常存在非??捎^的空閑帶寬,我們希望可以充分利用這些免費的空閑帶寬,進而優化外網流量。
然而,面臨以下這些困難和挑戰:
1.面向Internet用戶流量的實時性
從上面的數據中心流量圖可以看到外網流量的波動規律。
例如,一般早上6點左右處于流量的波谷,在晚上到達流量的波峰。
一個直觀的想法是將波峰的流量遷移到波谷,那么自然能極大的降低計費的流量值,從而降低付給運營商的帶寬費用。
但是,面向Internet用戶的流量是實時的,不可能將用戶在晚上10點的觀看視頻產生的流量延后或提前到早上。
更不用說其它實時性要求非常高的業務,如搜索、SNS、網購、游戲等。
2.流量峰值的不確定性
上面的例子中,事先給出了數據中心的計費帶寬值,然后再計算出數據中心在其它時刻的空閑帶寬。
然而在實際中,我們難以事先得知這個月的哪個時刻到達計費峰值以及計費峰值是多少,也就難以計算該數據中心當前可以免費的接納多少流量。
此外,常見的外網流量調度方式是修改DNS的配置,這存在一定的延時(新的用戶請求到來才會改變當前的流量分布)。
然而,由于大規模用戶行為存在一定的規律,從上面的流量圖中,可以直觀的看到數據中心每天的流量圖存在一定的重復性和規律性。
并且已有成熟的機器學習模型和研究工作,可對流量進行較為準確的預測。我們可以基于預測的流量值,計算數據中心未來(較短的)一段時間內的空閑帶寬。
四、如何更充分利用付費帶寬
接下來我們考慮如何充分利用各數據中心的空閑帶寬,從而更充分的利用付費帶寬。
1.減少其它峰值計費DC的付費帶寬
上圖是兩個DC的帶寬曲線,其中:DC1在下午4時到達峰值,DC2在晚上23時到達峰值。
可以看到,在下午4時,DC2沒有到達峰值,具有一定的空閑帶寬。
這時,可將DC1的部分流量調度到DC2;晚上23時再將DC2的部分流量調度到DC1。
這樣簡單的流量調度,可以同時降低這一天DC1和DC2的流量峰值,從而降低了付給運營商的帶寬費用。
當數據中心數量較多,并且不同數據中心部署用戶行為差異較大的業務時,通過設計合適的流量調度算法,能大幅度的降低多數據中心的外網付費帶寬。
這個調度方式存在一定的局限性:不同數據中心到達計費峰值的時刻比較接近;特別是部署相同業務的數據中心,或舉辦網絡活動導致流量特別高的時候,所有的數據中心差不多同時到達這個月的流量峰值。此時沒有數據中心存在空閑帶寬,可用于接納其它數據中心計費峰值的流量。
2.減少其它日均峰值計費DC的付費帶寬
我們用上述峰值計費模式DC的空閑帶寬來接納日均峰值計費模式DC的流量,優化后的流量圖如下圖所示:
可以看到日均峰值計費模式DC每天的計費帶寬值都有一定的減小。
不同于峰值計費的DC,日均峰值計費DC任何一天的計費帶寬值的減小,都能減小這個月需要支付給運營商的帶寬成本。
即使某一天所有DC都同時到達這個月的峰值,但這個月的其它天里,存在DC能接納該日均值計費DC的峰值流量,就能降低該DC的帶寬成本。
因此,降低日均峰值計費DC的付費帶寬,一定程度上放寬了流量調度的局限性的限制。
3.利用外網空閑帶寬進行內網流量的傳輸
利用多數據中心的空閑帶寬來動態的減少(峰值計費或日均峰值計費模式)數據中心的帶寬成本,都只用到了忙時(如上午11點到凌晨0點)的空閑帶寬。
顯然,數據中心忙時的空閑帶寬很小,大部分的空閑帶寬都集中在閑時(凌晨0點到上午10點)。
而這時用戶訪問產生的外網流量也很小,不能利用這時的大量空閑帶寬。
分布式存儲系統、云服務和搜索等業務,需要利用內網進行實時性要求不高的傳輸作業。
這些作業產生的背景流(Background Flow)占用了大量的內網帶寬資源。
利用數據中心閑時的大量空閑外網帶寬資源,進行可容忍延時的內網作業的傳輸,能有效的降低內網鏈路擁塞和帶寬資源緊缺的狀況。
需要注意的是,相對內網來說,外網的延遲和丟包比較嚴重。利用外網空閑帶寬傳輸內網流量時,要將內網和外網統一調度,并充分考慮外網的傳輸性能,以免影響內網作業的性能。
五、后續展望
通過多數據中心的外網流量調度來優化計費帶寬成本,存在一定的局限性,并且不能充分利用數據中心閑時的大量空閑帶寬資源。
此外,利用外網空閑帶寬進行內網流量的傳輸,需要考慮內外網統一配合以及外網傳輸質量等問題。
總的來說,多數據中心的外網流量調度存在諸多困難。然而,外網帶寬的巨大成本值得去直面并一一解決這些困難。
如何一起愉快地發展
“高效運維”公眾號(如下二維碼)值得您的關注,作為高效運維系列微信群的唯一官方公眾號,每周發表多篇干貨滿滿的原創好文:來自于系列群的討論精華、運維講壇線上精彩分享及群友原創。“高效運維”也是互聯網專欄《高效運維最佳實踐》及運維2.0官方公眾號。
提示:目前高效運維新群已經建立,歡迎加入。您可添加蕭田國個人微信號xiaotianguo8 為好友,進行申請,請備注“申請入群”。
重要提示:除非事先獲得授權,請在本公眾號發布2天后,才能轉載本文。尊重知識,請必須全文轉載,并包括本行。
【編輯推薦】
