【科技英雄傳】C語言之父的侄子重塑Twitter
發佈時間:2014-03-18
-
瀏覽次數:3203次
- 山姆·裏奇(Sam Ritchie)最早並非壹名程序員,他曾是美國短程皮劃艇代表隊中的隊員之壹,並在2009年的世界錦標賽中折桂而歸。裏奇曾就讀于普林斯頓大學,專業是機械和航空航天工程;但直到他叔叔在2011年底過世以後,他才攀上了作爲壹名程序員的巅峰。那時裏奇創造了壹種工具,而這種工具對于Twitter這個正在繁榮發展中的網絡“帝國”來說是至關重要的。這種轉變中當然混雜著某種很詩意的東西。裏奇的叔叔丹尼斯·裏奇(Dennis Ritchie)是計算曆史上最重要的軟件開發者之壹,他在距離普林斯頓大學不遠的貝爾實驗室中創造了C編程語言,這種語言直到今天仍舊是世界上最流行的編程語言。此外,丹尼斯·裏奇還跟和肯·湯姆森(Ken Thompson)壹起開發了UNIX操作系統,這種系統是今天在市場上出售的每壹台蘋果台式機、平板電腦和智能手機的基礎。C語言之父的“鬼魂”“我接納了丹尼斯·裏奇的鬼魂。”山姆·裏奇以其特有的玩笑口吻說道。“我曾是個糟糕的程序員,然後他就去世了。”在丹尼斯·裏奇去世以前不久,山姆·裏奇加入了Twitter,並在這家公司中與壹位名叫奧斯卡·博伊金(Oscar Boykin)的前量子物理學教授聯手,共同開發出了新時代開發工具Summingbird。這種工具之所以讓人稱道,是因爲哪怕是初出茅廬的程序員也能用它來迅速而相對容易地開發軟件,從而對海量的在線數據進行分析。在Twitter網站上,用戶每壹秒鍾發布的Twitter消息多達5700條左右。因此,能對數量如此龐大的數據進行分析的軟件簡直可以說是價比黃金。對所有這些數據進行分析是了解Twitter服務如何運作並對其進行改善的壹種方式,同時也是讓廣告主能精准定位目標對象的壹種方式,而這正是Twitter業務的核心所在。又壹個裏程碑隨著軟件行業的不斷發展進化,壹種新類型的軟件已經浮出水面,這種軟件能很好地利用每壹秒鍾都會湧入互聯網的、永無無休止的信息流。而在這壹發展進化的過程中,Summingbird可以說是樹立起了又壹個裏程碑。這種新類型的軟件主要是由互聯網行業中的各個巨頭所開發的,涵蓋了從分布式系統基礎架構Hadoop到Twitter旗下實時數據處理平台Storm等各種軟件和工具。而Summingbird所提供的正是壹種能讓開發者同時利用Hadoop和Storm來開發軟件和服務的方法,從而令這些軟件和服務兼具Hadoop大規模“批量處理”和Strom實時分析的兩家之長。“Summingbird能描述壹種邏輯,這種邏輯既可以實時運行,也能在Hadoop上運行,或者是在妳筆記本上單機運行。”博伊金說道。“妳可以在所有這些不同的地方運行這種邏輯,而無需對其中任何壹種運行方式感到過于擔心;而且,隨後妳還可以把所有這些結果都合並到壹起。”這是壹種前所未有的創舉,而隨著公司不斷地朝著實時分析的方向進發,這種工具的重要性將會變得越來越大。在裏奇和博伊金開發出Summingbird以後不久,壹位名叫Wen-Hao Lue的Twitter實習生利用這個工具爲該公司開發出了新的Headlines服務,這種新服務能迅速捕獲與某壹條Twitter消息有關的新聞和網頁的鏈接,然後將其嵌入到這條Twitter消息中去。Headlines服務需要有能力獲取龐大的計算能力和海量的數據,而Lue利用Summingbird工具毫不費力地獲得了這種能力。Lue曾說過,如果沒有Summingbird這種工具,那麽在他短短四個月的實習期裏,想要完成開發Headlines服務這樣的壹項任務,那是絕對不可能做到的。難用的開發工具大學畢業以後,山姆·裏奇開始涉獵編程領域,爲蘋果iPhone開發過軟件,最後走上了在線開發的道路。他曾到壹家名爲BackType的公司面試,後來這家公司被Twitter收購,而Strom平台最初就是從該公司中開始構建的,當時由壹位名叫南森·馬茲(Nathan Marz)的開發者負責開發。在收購交易完成以後,這種工具變成了Twitter基礎設施中不可分割的壹部分。“妳不妨把Twitter網站上的可用數據想象成壹條條水流,到處都有花園澆水用的那種軟管在繞來繞去。”裏奇說道。“而Storm就像是壹個淘金盤,能幫助妳淘出金子。”跟雅虎和Facebook等其他互聯網巨頭壹樣,Twitter也曾使用Hadoop來運算數量龐大的數據,但其運算速度較慢。而且,跟Storm壹樣,Hadoop也相當難用,即使是對經驗老道的程序員來說也並不例外。就這兩種工具而言,如果有程序員想要利用其龐大的力量,那麽首先需要學習特定的專業知識;而且,即使是在掌握了這些知識以後,想要利用這些工具來開發軟件也是很困難的。“不搭調的”二人組幸運的是,裏奇遇到了博伊金,後者曾長期致力于量子物理學領域中的研究工作,隨後才加入了Twitter。而後來的事實證明,粒子物理學家相當適合開發那種運行現代網絡服務的複雜軟件。舉例來說,流媒體視頻服務提供商Netflix的雲架構負責人阿德裏安·科克羅夫特(Adrian Cockcroft)就是壹名物理學家,大數據公司Cloudant的兩位聯合創始人麥克·米勒(Mike Miller)和艾倫·霍夫曼(Alan Hoffman)也是如此。“那是十分常見的事情。壹般來說,從物理學和數學轉向計算機科學,可以說是壹種‘定量流動’。”博伊金說道。“物理學家們經常都會被他們很可能將可解決某種問題的想法所吸引,或是被灌輸這種想法。”從表面上來看,裏奇和博伊金看起來如此不同。40來歲蓄有胡須的博伊金無疑散發著壹種大學教授的氣息,在表達想法時會十分認真地選擇措辭;而20來歲金發碧眼的裏奇則是那種潇灑放縱、饒舌多嘴的類型。但是,兩人之間卻達成了壹種默契的合作關系,能互相補足彼此想法中的不足之處。甚至于,兩人還會互相嘲笑彼此之間的不同之處。比如說,當有人要求博伊金描述自己的背景時,裏奇會搶過話頭說:“妳有很多東西能說啊,兄弟。”然後博伊金會說道:“他是在說我老呢。”在Twitter結識以後,兩人很快就認識到他們想要開發同壹樣東西,那就是壹種通用的工具,可以同時利用Hadoop和Storm的長處。代碼的“圖書館”裏奇、博伊金和其他壹些開發者花了幾個月的時間,終于設計出了Summingbird。基本上來說,這種工具就像是壹個代碼“圖書館”,允許開發者開發能對Hadoop上的海量數據進行運算、隨後可通過Strom平台對其進行實時分析的單壹軟件。“Hadoop非常可靠,但速度有點慢。而且,這種工具還可允許妳進行實時分析。”博伊金說道。“對于這兩套系統以及它們合並的複雜過程,妳絲毫都不必感到擔心。”兩人之所以把這種工具叫做“Summingbird”(直譯爲“求和小鳥”),是因爲Twitter內部的大多數軟件工具都會以該公司著名的“小鳥”主題爲名。而同樣符合Twitter傳統的是,這種工具是開源的,公司外部的任何人都可免費使用。現在,壹些外部人士已經利用這種工具進行了軟件開發工作,例如Hadoop開發者及用戶湯姆·懷特(Tom White)等。懷特說道,Summingbird在邊邊角角的細節方面還比較粗糙,但他認爲,這種混合式“大數據”工具的未來需求將是龐大的。“妳需要擁有壹個整體的系統,能把這些(大數據)系統的用途都結合到壹起。”他說道。加州大學伯克利分校也開發了壹個名爲Spark的平台,能同時進行Hadoop式的批量處理和Storm式的實時分析工作,但這個平台與Summingbird不同,原因是其並不能像後者那樣提供壹種方式,以便合並來自于這兩個“世界”的處理結果。時代互聯在此深深感謝您長期以來對我們的支持與厚愛!因公司業務范围扩大,時代互聯國際有限公司新增域名.ru .ua .is .ca .nl .fi .se七个。欢迎注册!
搜索