大家有沒有發現一個事情,相比六七年前微博動輒因為各路明星的新聞忽告宕機,近幾年微博宕機的次數已經越來越少了。
自從各路明星大料不斷讓新浪服務器時常處在崩潰的邊緣后,不少吃瓜群眾將明星的咖位與微博服務器進行掛靠:如果某明星傳出出軌/結婚/離婚等大事后,微博不會崩,那證明這個明星影響力不夠。
為什么新浪的服務器老是崩掉呢?國外也有這種情況嗎?
新浪服務器遇到明星的大爆料會崩潰就相當于國慶節上高速,訪問量激增后大家一起擠在路上,服務器處理不過來,就會表現為部分業務請求無效,或是整個癱瘓,也就是所謂的宕機現象。
其實服務器崩潰的事件并不罕見,國外的網站也會出現這種問題,例如前幾年YouTube出現全球范圍內宕機事故,YouTube、YouTubeTV和YouTube music都被波及,大約半小時才恢復。除了爆發的訪問量,引起網絡癱瘓的原因也可能是物理性的,比如微軟數據中心被雷擊中,其云服務大面積出現網絡連接問題;韓國KT電信突遭大火,整個首爾幾乎全面網絡癱瘓等。
究竟什么是宕機?引發宕機的原因又是什么?
實際上,宕機是IT行業術語,宕為英文down的音譯。所謂宕機,是指網絡空間的信息系統無法提供正常服務,出現卡頓甚至“停擺”現象,用戶的直接體驗就是系統長時間無響應,比如無法正常訪問、搜索無響應、無法發帖等。
造成系統宕機的因素有很多,比如機房供電故障、服務器硬件崩潰、系統處理能力不足、遭受網絡攻擊等。由于突發熱點事件引發的微博服務器宕機事件,通常是由于瞬間訪問量暴增,導致后臺服務器不堪重負,只好“一宕了之”。資料顯示,微博系統服務器的訪問量上限被設計為預估平時流量的峰值,相關服務資源均依此配置。一旦突發事件導致訪問量超出此峰值,系統將無法承受,宕機也就在所難免。
微博宕機是不是因為存在什么技術問題?
其實單就技術層面來說,預防微博服務器宕機不存在太大問題,只要擴充容量即可。而微博服務器宕機事件頻發,原因主要有兩方面:
一是微博服務器部署規模及其處理能力受限。很多公共服務平臺的平時流量基本穩定,基于成本考慮,在保持適度冗余處理能力的前提下,微博運營商不會主動去租用或配置大量超出日常數據處理需求的計算和存儲資源。服務器擴容多了,如果沒有流量支撐,就會造成資源閑置及成本增加。這為微博省去了大量的成本,畢竟平時如果征用這么多服務器,也都基本處于閑置狀態,實在過于浪費。根據阿里云官微之前的價格公布,一臺機器租用1小時只要1.86元(事實上這只是華北3區一臺低配版機器的價格)。即便僅按這個最低配的價格來算,每天使用1臺機器將產生45元錢左右的費用,1000臺需要45000元,一個月需要135萬元,一年需要1620萬元成本。
另一方面,微博流量具有瞬間峰值高、持續時間短的特征,在熱點事件出現時表現得更明顯。微博熱點流量較難預測,使得微博運營商在擴容問題上陷入兩難境地:擴容多了易虧,擴容不足易掛。
目前預防服務器宕機的解決辦法,新浪給出的做法是擴容。但是擴容有個最大難題是:新聞事件是隨機的,明星們可不會專門挑時間讓你準備好服務器再出事。所以對新聞影響力的預估就很考驗平臺的判斷力,比如錯誤地預估了某個明星的事情能夠帶來的震蕩程度就會帶來另外一個問題——臨時花了很高成本購買的的服務器成本搭進去了,又沒帶來那么大的流量,不僅拿不到到預計的收益還賠了服務器的高昂成本。
新浪這么大一個企業備幾臺閑置的服務器難道備不起嗎?
新浪作為一個大公司,買得起是肯定買得起的,不過現在服務器基本上是按需收費、按時收費的,一天花的錢還好,一年的錢可就是個大數目了。新浪作為一個企業,首要目的肯定還是盈利。如果是直接購置硬件的話,高并發時可能需要上千臺服務器才能處理,而平時的訪問量已有的服務器就可以解決,導致新置的服務器絕大多數時間只能閑置,這是巨大的資源浪費。所以一般來說新浪也是有需要才會臨時加購服務器。對于新浪來說最為可靠的解決辦法就是:運維和程序員隨時準備加班;或者和明星團隊通好氣,讓他們在爆料之前先跟新浪聯系。
如果加購選項不成立,那么能做到預測峰值流量嗎?
熱點流量雖較難以預測,但不等于不可預測。只要能預估出流量峰值范圍,就可通過定時擴容和提供彈性計算存儲資源來從容應對。很多平臺在這方面都有過應對流量突增的成功案例,比如電商平臺應對“雙十一”時的峰值流量。明星離婚等網絡突發事件,雖不受微博運營商控制,但微博運營商應該可通過輿情監控等手段感知即將到來的流量大潮,通過啟動應急預案來應對。構建彈性伸縮業務系統,輔以人工智能預測和業務持續性監控,來保障峰值服務正常運行。比如,通過人工智能技術來預測網絡突發流量,利用云計算彈性計算資源平臺來實現快速擴容甚至實時擴容,以應對高峰流量。云提供商目前可在宕機后數秒內探測到服務不可連接,然后在90秒內實現擴容,恢復運行中斷業務。這種按需部署的服務器配置方式,既可顯著降低網絡平臺服務器宕機的風險,又能很好地利用存儲計算資源,實現雙贏。
同時微博還可采用“降級”運行策略,即將服務器的業務拆分為若干相對獨立的業務,各業務之間共享數據庫。一旦服務器出現過載,可啟動降級策略來“丟卒保車”,至少保證核心業務能正常運行。比如,若微博熱搜榜崩潰,可維持評論、轉發等核心功能的正常運行。
另一種有效的應對方式是利用邊緣計算技術,通過在網絡邊緣實現數據分布式本地處理,可顯著降低訪問數據的匯聚和傳輸總量,這不僅能縮短用戶響應時間、提升用戶體驗,還能大幅降低中心節點的數據傳輸和處理壓力,也是一條應對宕機的新路徑。
“邊緣計算”比較完美的解決了宕機難題
邊緣計算是為應用開發者和服務提供商在網絡的邊緣側提供云服務和IT環境服務;目標是在靠近數據輸入或用戶的地方提供計算、存儲和網絡帶寬。邊緣計算是一種分布式計算,將數據資料的處理、應用程序的運行和功能服務的實現,由網絡中心下放到網絡邊緣的節點上。這樣就可以把云打散,就近接入不同節點,提供最近端服務。把邊緣計算和云計算緊密結合,充分發揮邊緣的低延遲,安全等特性同時,結合云的大數據分析能力。
全國網民在同時訪問微博時,可以就近訪問不同的節點。各個節點之間有一定的處理能力,處理完再上報給集中節點,這就大大減少了數據的匯聚和傳輸量,同時就近節點的訪問延遲也會縮短。此外,邊緣計算支持數據本地處理,大流量業務本地卸載可以減輕回傳壓力,有效降低成本。
CDN巨頭對于邊緣計算的應用如何?
CDN(即內容分發網絡)的核心價值是將數字內容智能分發到離用戶更近的節點,進而提升整體分發效率,降低網絡延時、節省帶寬資源,其與生俱來的邊緣節點屬性,低延時和低帶寬,令其在邊緣計算市場具備先發優勢,CDN本身就是邊緣計算的雛形。
Akamai作為全球CDN領頭羊早在2003年就與IBM合作邊緣計算,如今Akamai與IBM在其WebSphere上提供基于邊緣Edge的服務。網宿科技也已將邊緣計算當成核心戰略,2016年開始建設邊緣計算網絡,2017年逐步推出邊緣計算微服務,并將逐步開放邊緣IaaS和PaaS服務。CloudFlare公司在2017年就推出了CloudFlare Workers,以微服務的形式開放邊緣計算服務,支持用戶在邊緣端編程,這標志著它已經初步搭建好了邊緣計算的平臺。阿里云/騰訊云也均在云計算和邊緣計算上下了很大功夫,并且有非常成功的經驗,比如上文所提的微博就是主要使用的阿里云服務器,正是因為阿里云的云計算和邊緣計算技術不斷進步和迭代,才保障了微博近年來宕機事件越來越少的成果。
目前火傘云已經建立了遍布全球的智能融合CDN網絡,為客戶提供集邊緣計算、邊緣存儲、融合CDN及安全防護于一體的綜合解決方案。公司旗下的火傘云融合CDN目前已融合多家頭部CDN廠商:阿里云、騰訊云、網宿云、亞馬遜云、谷歌云、白山云等,未來我們將不斷融合更多更全的海內外知名廠商,為用戶提供更多,更安全穩定的CDN節點服務。
-
服務器
+關注
關注
12文章
9285瀏覽量
85844 -
邊緣計算
+關注
關注
22文章
3118瀏覽量
49307
發布評論請先 登錄
相關推薦
評論