鹿晗搞垮新浪微博之我見

飛總聊IT

IT八卦,大數據風雲,職場風波

微信公眾號:feiitworld

合作垂詢:feizongitworld@gmail.com

佔據昨天互聯網各大媒體頭條的,從新浪微博到百度搜索,從今日頭條到知乎,都是鹿晗和關曉彤的戀情。

其實對於技術宅如我來說,既不知道娘炮的鹿晗是誰,也不明白國民女神關曉彤是什麼來歷。但是有一件事卻不得不引起我的關注。鹿晗這一發抖,新浪微博就掛了。作為技術男,想要理解為什麼一個娘炮宣布有女朋友,就導致了新浪微博抽風了。

鑒於鹿晗的影響力如此大,很多女粉絲自殺之類的都出現了,知乎上的技術大咖們自然也是不甘寂寞的做了很多分析。

這些分析有的懷疑是資料庫服務出問題了,有的懷疑是其他組件出問題了。還有人懷疑說自動擴容系統不好使。又有一種說法是自動擴容可能導致新浪錢財被大量浪費,所以很多時候大的擴容需要運維手工維護。但是因為趕上了假期所以運維需要背鍋了。

從新浪公布的數據來看,鹿晗相關的話題被轉發了46萬次,覆蓋人群8億人。可見這的確是一次爆炸式的滾雪球一樣的數據風暴。

我不是懷疑這些人的技術水準。我也想說,真實的情況其實最後還得等某浪自己公布。但是有一點是所有的技術大咖里都沒有談到的。這也就讓我懷疑這些技術大咖可能並沒有經歷過觀看幾萬台機器協同工作的經歷。

我在微軟5年的工作經歷,從技術成就上來說,實在比不上我後面三年內做的。但是從大開眼界上來說,確實又是讓我極為大開眼界的幾年。幾萬台機器一起工作,遇到一些拍腦袋一輩子也想不到的事情,真心不稀奇。

這個事情在我看來,如下的一種可能性最有可能。我試圖來解釋一下。我們知道對於某浪某博這樣的服務,每個子系統的設計,都有一定程度的冗餘。

冗餘其實是一些防範機制。比如說,客戶端訪問一個資源沒有成功,那麼客戶端就會做一些重試。這種類似的機制在幾乎每一個內部服務裡面都有。

除了重試機制以外,一般這些服務都還有監視,自動擴容,自動恢復等一系列的功能。

為什麼要有這些,這是因為在幾千上萬台機器上構建的應用,和我們平時想像的世界很不一樣。最大的不同是,什麼樣的東西,都有可能暫時不可用。網路不可用,機器暫時失聯或者永久下線,諸如此類。如果沒有一些冗餘的話,整個系統就無法正常的服務大眾。

然而這類冗餘機制,有一個致命的問題。任何的恢復機制,都是以增加系統的負擔為代價的。當整個系統處於相對健康狀態的時候,這種增加的負擔並不是什麼問題。相反的,因為系統的狀態很快恢復到了正常,這種暫時性的負擔增加是有益的。

然而情況會發生變化。由於這類系統的設計很複雜,通常來說,一般系統都不會存在全局的冗餘和恢復機制。相反的,各個模塊和服務自己會做一些冗餘和恢復的能力。這種做法,簡化了系統的設計和運行,有其可取之處。

但是當系統發生巨大的問題的時候,也就不存在著一個全局調控的機制,去協調這些模塊的冗餘和恢復能力。所以一旦問題出現,每個模塊自己的冗餘和恢復相關的機制就會啟動。

然而因為全局的情況已然很糟糕,這些恢復機制所帶來的額外負擔,只會讓各個服務的失敗率繼續提升。而這種提升又會繼續導致各個模塊的恢復機制升級。升級又導致整個系統資源近一步枯竭,失敗率繼續提升。然後就在這種循環裡面滾雪片一般的進入到一條不歸路。

所以自帶恢復機制的系統的臨界點是一個很奇怪的點。在這個之前,恢復機製得以正常運行,系統迅速恢復狀態。在這個之後,系統如同滾雪球一般的走向死路。人工干預必不可少。

類似這樣的事情,我在微軟工作的時候遇到過幾次。其中有一次是數據中心的一個電源以及備用電源都因為過載被燒掉,導致了近千台機器突然消失。於是從存儲到元數據到計算到資源調度各個模塊都迅速的發現了系統出現問題,各自進入自己的恢復機制。然後在這種恢復中滾雪片一般的讓整個系統愈演愈烈,最後完全失去服務能力,只能人工進行干預和恢復。

從這個事情的發展來看,看起來很像是不同服務的恢復擴容機制導致了整個系統資源近一步枯竭,最後因為惡性循環走向一條不歸路。

這類問題涉及到分散式系統裡面資源管理里非常難的地方。我並沒有見到過特別優雅的解決方案。但是我當時所在的組所經營的微軟一個內部服務,在經歷了一次類似雪崩的服務奔潰以後,大規模的改變了服務恢復機制。

概括來說,當服務恢復機制實施導致系統走向更加惡劣的狀態的時候,系統會非常謹慎的選擇暫緩服務恢復機制的實施。這並不是什麼優雅的解決方案,但是實踐里可以解決很多問題。

以上是我對此次事件的一些看法。必須說,偶像的力量是無窮的。這個事件讓我這個掙扎在寫公眾號邊緣努力增粉而對祖國互聯網毫無影響力的老程序猿,感到了深深的悲涼。

百無一用是碼農啊。

相關閱讀

必看的10個方向代表未來--Gartner2018技術趨勢分析(上)

從佛洛依德理論看溝通的層次

Larry怒懟Redshift

難圓滿的SQL Server 2017Linux夢

驚聞AI降臨,DBA即將失業 歡迎加飛總小密圈

飛總聊IT

IT八卦,大數據風雲,職場風波

微信公眾號:feiitworld

合作垂詢:feizongitworld@gmail.com

推薦閱讀:

微博介入婚慶市場,三大優勢惹關注
新浪微博是真開放還是偽開放?
新浪微博不應將競爭焦慮轉嫁用戶
打造多元生態布局 微博的選擇、收穫與思考
微博最新版開始內測微博故事功能了

TAG:分布式系统 | 鹿晗 | 新浪微博 |