鵝廠儲存記憶 熱血 黑夜與無限大

2021-10-10 16:43:58 字數 3645 閱讀 6451

一群已經告別18歲久矣的「老司機」怎麼也沒想到,在扛下了無數場激動人心的戰役之後,職業生涯竟險些在這樣一件事上遭遇「滑鐵盧」。

2023年12月31日,able還沉浸在跨年的興奮之中,組內同事的一通**殺到:大事不妙。qq後台資料顯示,qq相簿訪問和呼叫量陡然上公升,臨近中午,很快接近儲存過載設定的警戒線。

原來這一天,最後一批90後即將度過18歲生日。有人在網上發起了乙個「曬曬你的18歲」話題活動。為了找回一張18歲的**,一時間,一大波70後、80後、90後紛紛湧向了qq空間。

「幸福」來得猝不及防。不僅qq空間儲存著一代人的青春回憶,中國近10億網民,怎麼儲存好使用者在網際網路上的每一段記憶,成了乙個「甜蜜的負擔」。

幹這件事的,正是這樣一群充滿夢想的技術人。

2023年開始,qq空間大火,那時數位相機開始在國內興起,qq相簿上線後,很快日均上傳量超過1000萬張,訪問量級和使用者規模與facebook分庭抗禮。從幾百萬到1000萬,再到後來的一天1億的上傳量,對頻寬、伺服器消耗很大。

系統架構部的第乙個任務,就是解決qq空間發展所帶來的儲存問題。

這是當時國內第乙個真正意義上面向網際網路海量資料儲存的技術平台,承載了公司數10億客戶,大大推動了分布式儲存技術的發展。

第二年年初,tfs開始接qq相簿。那時,頻寬和伺服器資源有限,qq相簿每天限量800萬張。regan還記得,那時候一到晚上24點就有大量使用者湧進來,守著時間把上傳上去,慢慢到中午和接近下午的時候,普通使用者就傳不了了,然後到第二天凌晨再放開。

tfs剛開始做時,技術人員製作了一張全國地圖,凡是qq空間開啟速度高於5秒的被繪成紅色,3秒到5秒之間為黃色,低於3秒的被繪成綠色。地圖製作出來後,掛在牆上,大家看到的是「祖國江山一片紅」。

而隨著tfs儲存系統的上線,技術團隊一塊一塊地啃,在地圖上,綠色和黃色一點一點地增加。到2023年年底,一張綠色的中國地圖終於出現在大家的面前。此次速度優化上的闖關,為qq空間日後流量的倍級增長提供了重要保證。

2023年儲存團隊合影

2023年,sns遊戲開始興起。qq農場創造了當時國民網遊的峰值,月活躍使用者達到了3.2億,註冊賬號佔中國人口的2/3。一時間,「偷菜」風靡全國。

tfs主要是面向大檔案儲存,團隊後面又陸續開發了面向kv的tdb儲存。但是挑戰也接踵而來。

了解資料庫儲存的人知道,設計乙個快取系統,讀多寫少是最好的,一旦讀少寫多,系統壓力就很大。

然而,sns遊戲最大的問題就是「寫」操作特別多。比如qq農場的訪問量特別大,數億使用者守在電腦前,菜一熟立馬就去摘,十幾塊田,每一塊田都是乙個寫入量。即便tdb已經是高階配置,高併發的壓力依然很大。

當時,ssd介質還沒有出來。regan和團隊商量,根據頻繁寫入的情況設計了tmem,即先寫記憶體,同時把日誌順序寫到磁碟上。這樣把「隨機寫」變成了「順序寫」,一下子提高了效能,解決了頻繁寫的問題。

一場史無前例的資料遷移勢在必行了。

1g的流量對公網的出口都有很大的挑戰。控制不了高峰怎麼辦?

去西安,還有另外的原因——西安是三通機房,對資料中心來說這很寶貴。中國運營商是電信、聯通、移動三家,俗稱「三通點」。因為要服務不同使用者,機房裡面三條線都要用,但是運營商之間的互聯互通做得並不好。如果是租的一家運營商的機房,另外兩家又不太願意拉線進來。

為應對底層機房、頻寬等方面的瓶頸,儲存團隊啟動了相簿「一通點」專案,海量業務資料開始從深圳向西安、杭州、廣州、上海等地資料分布,訪問頻寬同時排程到天津、南京、東莞等一通機房。 

但是「一通點」也有個問題,它的儲存成本有點高。三通點的資料,都要複製到一通點去,這個城市租乙個電信的機房、那個城市租乙個聯通的機房,等於是用儲存成本換成頻寬。

眼看頻寬快扛不住了,盧山帶著regan等人去跟總辦匯報。regan還記得,當時還準備了一些詳細的材料,密密麻麻的,計畫把問題和解決方案描述一下。

沒想到,盧山進去後開門見山地說:「今天我們是來要錢的,三通點不行,要往一通點放。」

毫無疑問,這次的資料遷移很成功。qq後台顯示,qq空間儲存量每天都在**,儲存從最開始從800萬到高峰時候的幾個億。到2023年左右,qq相簿最高峰單日已經超過了6億。

一場勝仗之後,架構部的業務日漸繁忙,tfs的業務對接也更加頻繁了起來。

2023年-2023年,移動網際網路潮起,一場時間的搶位戰一觸即發。regan第一次感受到明顯的變化是在2023年:沒想到,春節也開始加班了。

「統一動作還好辦,乙個熱點分發就完了,但現在每個人的動作都不一樣,每張圖都需要儲存下來再去分享,壓力就非常大。「able說。

2023年儲存團隊春節值班

在雲計算早期發展的過程中,人們更注重的是「計算」、「流量」 等無狀態型別的服務,當大家把比較容易摘到的「果實」摘完之後,巨大的儲存市場才顯露出來。

這時才發現,雲計算作為一項相對靈活的技術,對於業務來說,所有的流量可以切走,計算可以遷移,但是儲存一旦選擇之後,很少再會「挪動」,否則會對業務產生非常大的影響。

同時,城市的基礎設施也發生了很大變化,如今機房之間的互聯專線非常快,甚至城市與城市之間都有幾百g的專線互動。基礎設施的更新,也需要上層的軟體架構去調整和適應。

「是時候做一款真正為雲而生的儲存產品了。「

用regan的話說,雲上需要的是乙個更大的資料儲存系統,它沒有檔案、檔名、檔案屬性、目錄、層級關係之類的概念或關係;相比於分布式檔案系統,它的規模大很多,除了資料以外,可以組合各種不同的索引結構,像分布式檔案系統中的目錄樹只是索引中的其中一種,而物件儲存就是更靈活、更豐富、功能更強大的另一種索引結構。

對於做儲存的同學來說,經常會跟gb、tb、pb、eb這些概念打交道。現在全球網際網路非常大的巨頭公司的資料量基本都是在eb這個量級。eb上面是zb,全球網際網路巨頭資料起來也就幾個zb;zb上面是yb,也就是yottabyte,目前全世界所有的資料加起來也不超過乙個yottabyte。另外這個單詞中文譯名「有他」,給人安全可靠放心的感覺,系統的slogan就是「儲存有他,能力無限」。

2023年,yottastore正式啟動研發。

作為yottastore的設計者,richie介紹道,yottastore是乙個雲原生的資料儲存系統,這個系統理論的極限是乙個集群可以管理超上千萬臺伺服器。而要管理這上千萬臺的機器,原資料管理只需要用600g左右的空間,用一台機器就能存下的索引結構,管理上千萬臺的儲存節點伺服器,這個在業界是絕無僅有的。

在靈活性上,yottastore集群可以零研發成本同時支援各種不同的冗餘模式,無論是單az、還是雙az、還是多az都可以靈活支援,還可以適應各種不同的機型和硬碟介質,包括儲存的拓撲結構都可以任意指定、混合部署。

在運營能力上,yottastore十萬、百萬規模的集群,20多分鐘即可完成全集群的全面公升級;如果是異構的資料格式,集群可以短時間內自動將資料格式透明收斂到最新版。

在穩定性上,系統上線前三個月,yottastore一直維持了100%的可用性,上線一年半以來,一直保持單人值周零故障執行。

其實所有的技術問題,從本質上來說,關鍵是在時間、成本、需求、技術之間做好的權衡。

yottastore團隊合影

pb blob儲存到image 鵝廠儲存往事

2005年,是中國第二次網際網路浪潮的發始之年。剛剛從破碎泡沫中走出的網際網路產業,逐漸迎來了 web 2.0 時代。這個時代的特徵,就是去中心化 開放和共享。越來越多的網際網路使用者,開始以興趣為聚合點,組成社群,分享生活,發表觀點。他們積極參與話題討論,渴望獲得關注和認同。qq空間,作為 展示自...

poj2817 狀態dp(二進位制儲存) 記憶化搜尋

思想參考的這位的部落格,寫得很詳細,十分感謝她 他 這也是我的第一道狀態dp,是自己敲的,開始的時候,過不了樣例,發現位運算的條件弄錯了,還有num陣列打表弄錯了,改後就1a了。上面的部落格寫得很詳細,只稍微補充一下 補充在 的注釋中了 其它就看這個部落格就行了。乙個單詞有就為1,沒有就為0,於是用...