【科技英雄傳】C語言之父的侄子重塑推ter

jopen 10年前發布 | 10K 次閱讀 C語言

【科技英雄傳】C語言之父的侄子重塑推ter

        山姆·里奇(Sam Ritchie)最早并非一名程序員,他曾是美國短程皮劃艇代表隊中的隊員之一,并在 2009 年的世界錦標賽中折桂而歸。

        里奇曾就讀于普林斯頓大學,專業是機械和航空航天工程;但直到他叔叔在 2011 年底過世以后,他才攀上了作為一名程序員的巔峰。那時里奇創造了一種工具,而這種工具對于 推ter 這個正在繁榮發展中的網絡“帝國”來說是至關重要的。

        這種轉變中當然混雜著某種很詩意的東西。里奇的叔叔丹尼斯·里奇(Dennis Ritchie)是計算歷史上最重要的軟件開發者之一,他在距離普林斯頓大學不遠的貝爾實驗室中創造了C編程語言,這種語言直到今天仍舊是世界上最流行的 編程語言。此外,丹尼斯·里奇還跟和肯·湯姆森(Ken Thompson)一起開發了 UNIX 操作系統,這種系統是今天在市場上出售的每一臺蘋果臺式機、平板電腦和智能手機的基礎。

        C語言之父的“鬼魂”

        “我接納了丹尼斯·里奇的鬼魂。”山姆·里奇以其特有的玩笑口吻說道。“我曾是個糟糕的程序員,然后他就去世了。”

        在丹尼斯·里奇去世以前不久,山姆·里奇加入了 推ter,并在這家公司中與一位名叫奧斯卡·博伊金(Oscar Boykin)的前量子物理學教授聯手,共同開發出了新時代開發工具 Summingbird。這種工具之所以讓人稱道,是因為哪怕是初出茅廬的程序員也能用它來迅速而相對容易地開發軟件,從而對海量的在線數據進行分析。

        在 推ter 網站上,用戶每一秒鐘發布的 推ter 消息多達 5700 條左右。因此,能對數量如此龐大的數據進行分析的軟件簡直可以說是價比黃金。對所有這些數據進行分析是了解 推ter 服務如何運作并對其進行改善的一種方式,同時也是讓廣告主能精準定位目標對象的一種方式,而這正是 推ter 業務的核心所在。

        又一個里程碑

        隨著軟件行業的不斷發展進化,一種新類型的軟件已經浮出水面,這種軟件能很好地利用每一秒鐘都會涌入互聯網的、永無無休止的信息流。而在這一發 展進化的過程中,Summingbird 可以說是樹立起了又一個里程碑。這種新類型的軟件主要是由互聯網行業中的各個巨頭所開發的,涵蓋了從分布式系統基礎架構 Hadoop 到 推ter 旗下實時數據處理平臺 Storm 等各種軟件和工具。

        而 Summingbird 所提供的正是一種能讓開發者同時利用 Hadoop 和 Storm 來開發軟件和服務的方法,從而令這些軟件和服務兼具 Hadoop 大規模“批量處理”和 Strom 實時分析的兩家之長。

        “Summingbird 能描述一種邏輯,這種邏輯既可以實時運行,也能在 Hadoop 上運行,或者是在你筆記本上單機運行。”博伊金說道。“你可以在所有這些不同的地方運行這種邏輯,而無需對其中任何一種運行方式感到過于擔心;而且,隨后 你還可以把所有這些結果都合并到一起。”這是一種前所未有的創舉,而隨著公司不斷地朝著實時分析的方向進發,這種工具的重要性將會變得越來越大。

        在里奇和博伊金開發出 Summingbird 以后不久,一位名叫 Wen-Hao Lue 的 推ter 實習生利用這個工具為該公司開發出了新的 Headlines 服務,這種新服務能迅速捕獲與某一條 推ter 消息有關的新聞和網頁的鏈接,然后將其嵌入到這條 推ter 消息中去。Headlines 服務需要有能力獲取龐大的計算能力和海量的數據,而 Lue 利用 Summingbird 工具毫不費力地獲得了這種能力。

        Lue 曾說過,如果沒有 Summingbird 這種工具,那么在他短短四個月的實習期里,想要完成開發 Headlines 服務這樣的一項任務,那是絕對不可能做到的。

        難用的開發工具

        大學畢業以后,山姆·里奇開始涉獵編程領域,為蘋果 iPhone 開發過軟件,最后走上了在線開發的道路。他曾到一家名為 BackType 的公司面試,后來這家公司被 推ter 收購,而 Strom 平臺最初就是從該公司中開始構建的,當時由一位名叫南森·馬茲(Nathan Marz)的開發者負責開發。在收購交易完成以后,這種工具變成了 推ter 基礎設施中不可分割的一部分。

        “你不妨把 推ter 網站上的可用數據想象成一條條水流,到處都有花園澆水用的那種軟管在繞來繞去。”里奇說道。“而 Storm 就像是一個淘金盤,能幫助你淘出金子。”

        跟雅虎和 非死book 等其他互聯網巨頭一樣,推ter 也曾使用 Hadoop 來運算數量龐大的數據,但其運算速度較慢。而且,跟 Storm 一樣,Hadoop 也相當難用,即使是對經驗老道的程序員來說也并不例外。就這兩種工具而言,如果有程序員想要利用其龐大的力量,那么首先需要學習特定的專業知識;而且,即 使是在掌握了這些知識以后,想要利用這些工具來開發軟件也是很困難的。

        “不搭調的”二人組

        幸運的是,里奇遇到了博伊金,后者曾長期致力于量子物理學領域中的研究工作,隨后才加入了 推ter。而后來的事實證明,粒子物理學家相當適合開發那種運行現代網絡服務的復雜軟件。舉例來說,流媒體視頻服務提供商 Netflix 的云架構負責人阿德里安·科克羅夫特(Adrian Cockcroft)就是一名物理學家,大數據公司 Cloudant 的兩位聯合創始人麥克·米勒(Mike Miller)和艾倫·霍夫曼(Alan Hoffman)也是如此。

        “那是十分常見的事情。一般來說,從物理學和數學轉向計算機科學,可以說是一種‘定量流動’。”博伊金說道。“物理學家們經常都會被他們很可能將可解決某種問題的想法所吸引,或是被灌輸這種想法。”

        從表面上來看,里奇和博伊金看起來如此不同。40 來歲蓄有胡須的博伊金無疑散發著一種大學教授的氣息,在表達想法時會十分認真地選擇措辭;而 20 來歲金發碧眼的里奇則是那種瀟灑放縱、饒舌多嘴的類型。但是,兩人之間卻達成了一種默契的合作關系,能互相補足彼此想法中的不足之處。甚至于,兩人還會互 相嘲笑彼此之間的不同之處。

        比如說,當有人要求博伊金描述自己的背景時,里奇會搶過話頭說:“你有很多東西能說啊,兄弟。”然后博伊金會說道:“他是在說我老呢。”

        在 推ter 結識以后,兩人很快就認識到他們想要開發同一樣東西,那就是一種通用的工具,可以同時利用 Hadoop 和 Storm 的長處。

        代碼的“圖書館”

        里奇、博伊金和其他一些開發者花了幾個月的時間,終于設計出了 Summingbird。基本上來說,這種工具就像是一個代碼“圖書館”,允許開發者開發能對 Hadoop 上的海量數據進行運算、隨后可通過 Strom 平臺對其進行實時分析的單一軟件。

        “Hadoop 非常可靠,但速度有點慢。而且,這種工具還可允許你進行實時分析。”博伊金說道。“對于這兩套系統以及它們合并的復雜過程,你絲毫都不必感到擔心。”

        兩人之所以把這種工具叫做“Summingbird”(直譯為“求和小鳥”),是因為 推ter 內部的大多數軟件工具都會以該公司著名的“小鳥”主題為名。而同樣符合 推ter 傳統的是,這種工具是開源的,公司外部的任何人都可免費使用。現在,一些外部人士已經利用這種工具進行了軟件開發工作,例如 Hadoop 開發者及用戶湯姆·懷特(Tom White)等。

        懷特說道,Summingbird 在邊邊角角的細節方面還比較粗糙,但他認為,這種混合式“大數據”工具的未來需求將是龐大的。“你需要擁有一個整體的系統,能把這些(大數據)系統的用途都結合到一起。”他說道。

        加州大學伯克利分校也開發了一個名為 Spark 的平臺,能同時進行 Hadoop 式的批量處理和 Storm 式的實時分析工作,但這個平臺與 Summingbird 不同,原因是其并不能像后者那樣提供一種方式,以便合并來自于這兩個“世界”的處理結果。

來自: 騰訊科技
                    <span id="shareA4" class="fl">                          </span> 

</div>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!