把「圖片流」和「文字流」強行縫合在一起,聽起來很簡單,就像是在漢堡裡加片芝士。
但對於負責後端的馬克·李來說,這簡直是在讓他給正在飛行的飛機換引擎。
SOHO辦公室的白板上,已經畫滿了密密麻麻的架構圖。紅色的馬克筆線條像血管一樣交織,每一個節點都代表著巨大的數據吞吐量。
「老顧,你這是在玩火。」
馬克把手裡已經捏扁的紅牛罐子扔進垃圾桶,滿臉的油光和絕望,「你知道這意味著什麼嗎?如果每個用戶每天發一條狀態,加上評論、點讚、轉發,我們的資料庫讀寫壓力會翻十倍!」
「現在的MySQL集群已經快撐不住了。再加這個?你是嫌伺服器炸得不夠快嗎?」
馬克指著屏幕上那行紅色的報警日誌,聲音都在抖。
「而且,手機輸入是個大問題。現在的手機鍵盤那麼小,你讓用戶在上麵敲140個字?那是酷刑!沒人會用的!」
這確實是個痛點。
在iPhone還沒普及的2007年,大部分人用的還是九宮格鍵盤的諾基亞。要在上麵打一段完整的話,得按幾百次鍵。這種體驗不僅不流暢,甚至可以說是反人類。
顧清舟坐在老板椅上,手裡轉著那支萬寶龍鋼筆。
他並沒有被馬克的咆哮嚇退,反而顯得異常冷靜。
「馬克,你說的都對。」
顧清舟站起身,走到白板前,在那堆複雜的線條旁邊,畫了一個小小的氣泡。
「輸入確實是個問題。所以,我們不讓用戶打字。」
看本書最新章節,請到oop.tw
「不打字?」馬克愣了一下,「那發什麼?意念傳輸?」
「快捷狀態庫。」
顧清舟在氣泡裡寫下了這幾個字。
「我們預設一百個最常用的場景短語。比如:『正在喝咖啡』、『心情不好求安慰』、『剛下班累成狗』、『這裡的風景真美』……」
「用戶隻需要點擊一下,這段文字就會自動填入輸入框。他們可以在此基礎上修改,也可以直接發送。」
「這叫——降低門檻。」
顧清舟的眼神裡閃爍著狡黠的光芒。
「而且,這些預設的短語,要寫得有趣,要寫得騷。要讓用戶覺得:『這正是我心裡想說但沒說出來的』。」
「比如,不要寫『我在加班』,要寫『為了老板的法拉利而奮鬥』。這種自嘲式的幽默,才是年輕人的語言。」
傑克·多西在一旁聽得連連點頭:「這招聰明。這不僅解決了輸入難的問題,還定義了社區的調性。」
「那資料庫呢?」馬克還是不依不饒,「並發量的問題怎麼解決?光靠那種小聰明可救不了伺服器。」
「那就換個思路。」
顧清舟擦掉了一塊白板,寫下了一個陌生的單詞: NoSQL 。
「現在的關係型資料庫太重了。為了保證一致性,它犧牲了太多的性能。但對於社交網絡來說,用戶A發了一條狀態,用戶B晚一秒鐘看到,天會塌嗎?不會。」
「我們要的是速度。是極致的吞吐量。」
「放棄強一致性,追求最終一致性。」
顧清舟在白板上畫了一個鍵值對的模型。
「把數據拆散。不需要複雜的表關聯。每一條狀態就是一個獨立的對象。存進去,讀出來。簡單,粗暴,高效。」
馬克盯著那個單詞,眼鏡片後的瞳孔微微收縮。
作為技術大牛,他當然聽說過Google內部有一篇關於Bigtable的論文。但那隻是理論,還沒人敢在商業項目上大規模應用。
「你是說……我們要自己寫一套非關係型資料庫?」馬克的聲音有些發顫,那是恐懼,也是興奮。
「對。」顧清舟看著他,「敢嗎?」
「如果成功了,Halo的後台將是全球最快的。我們將重新定義高並發。」
「瘋子……」馬克嘟囔著,但手已經不自覺地放在了鍵盤上,「行吧。反正都已經上了賊船了。大不了就是炸機。」
「錢呢?」一直沒說話的王胖子突然插了一句,「研發這種底層技術,還有擴容伺服器,那可是燒錢的無底洞啊。咱們帳上那點錢……」
。了固凝間瞬氣空的裡室公辦,錢到提
。裡漠沙了進倒水杯一把是像就錢點那,前麵入投發研的別級種這在但,萬百一了投己自舟清顧然雖
」。法辦想來我,事的錢「
。憊疲絲一的底眼住飾掩,穴陽太揉了揉舟清顧
」。電停器服伺讓會不也我,血賣是怕哪。來出做品產把管隻們你「
。曆日的上牆眼一了看他
。日82月5
」。裡袋口的戶用個一每進塞,olah把,天一那的售發enohPi在要我。了多不間時的們我給留「
。聲盤鍵的集密了起響新重裡室公辦
。安不的深深種一著透裡影背的們他但,乾苦頭埋在都克傑和克馬
。應反場市的知未有還,力壓金資,險風術技
。上身隊團的輕年個這在壓,山大座一是像都,切一這
。人的」行能「說敢一唯個那是,舟清顧而
。道街頓哈曼的攘攘熙熙麵外著看,前窗在站他
。庸平於死會能可們他,0.2 olaH做不果如
。裂斷鏈金資於死會能可,了做
。死找如不,死等其與
」。吧燒「
。絕決種一著帶裡音聲,語自聲低舟清顧
」。子金出煉能就,大夠火要隻「