Top Ad unit 728 × 90

Breaking News

軟體下載

造就WhatsApp 190億美元背後的程式語言:Erlang

造就WhatsApp 190億美元背後的程式語言:Erlang

只憑32個技術人員,如何應付4.5億的用戶?對於剛剛被Facebook用190億美元收購的WhatsApp來說,答案是Erlang——一種誕生於上世紀80年代的程式語言,終於在此時走到了聚光燈下。

但面對很多試圖替代它的程式語言,Erlang有自己的將來嗎?

Erlang是25年前由瑞典電信巨頭Ericsson開發,而現在它卻在像WhatsApp和TigerText這樣的即時消息應用裡找到了自己的位置。即使Facebook也對這種語言大唱讚歌——它在2009年用Erlang開發了Facebook聊天應用。而在同年,它拒絕了WhatsApp創始人Brian Acton的求職申請。

開發成為新寵


“使用Erlang,你可以開發出同時允許大量用戶連接的消息傳輸應用,而不用擔心消息是如何傳輸的,”使用這種語言開發的匿名發文系統Whisper的CTO Chad DePue說。“相反”,他說,“你擔心的是如何設計一個好的應用。”

Ericsson工程師Joe Armstrong設計Erlang語言時始終將電信通訊的工作原理銘記在心:同時有百萬用戶並行通訊,對故障事件幾乎是零容忍。對於如此巨量的並行通訊,其它語言基本可望而不可及——有的表面上看起來擅​​長處理並發,但它們卻不是原生的“多任務處理者”。而Erlang,跟它們形成鮮明對比,天生擅長多線程或玩這種“雜技”——再增加一個旋轉的盤子?丟上來!

“這種語言非常富有表達性,”Google創新實驗室的Igor Clark說。“你可以在一個很高的層面工作,用它的幾個關鍵概念可以做很多事情。”

從實際使用的角度,Erlang最初非常適合在單個機器上跨多處理器處理高效的執行命令。而如今,它已經進化成擅長跨全球網路服務器——也就是我們所說的“雲”——執行海量命令。遊戲,金融等任何像實時拍賣系統那樣對速度、穩定性、吞吐量高要求的場景,Erlang的這種雲特徵都是必不可少的。

同樣,對於程式設計師來說,Erlang的吸引力也獨樹一幟的,它允許系統不停機的情況下進行更新和bug修復。實時上,你可以修改系統屬性或更換文件而不引起系統的卡頓。Erlang語言的這種特性是電信業的強制要求的結果:正如DePue說的,“當有人在打電話時,你不可能因為要升級系統而掛斷他們的電話。”

砸了電信的飯碗


Erlang語言在1998年就開源了,而如今的電信也卻沒有當初那麼大方。像WhatsApp,微信Line....,和其它應用如雨後春筍,電信業一度依賴的簡訊費用迅速被腐蝕。KPN,一家荷蘭公司,在目睹簡訊收益大幅下滑後試圖封殺這些應用,但最終在法庭上輸了官司。

一些大型的運營商,例如Vodafone,試圖建立自己的簡訊服務網路,但幾乎沒有成功的。它們現在的辦法就是對用戶的合約進行修改,添加並標明簡訊和數據各自的費用。

就在這些電信公司忙著調整他們的收費標準時,WhatsApp卻在專注做產品。它們的技術團隊讓WhatsApp在規模和速度上的提升一次又一次的讓Erlang語言社區轟動,在短短的幾年裡,每個服務器的連接數從1萬躍升到2百萬。

這些成績的實現全都歸功於Armstrong打下的基礎,他為Ericsson量身定制的項目AXD301,實現了“9個9”的可靠性(99.9999999%)。而如今這些年輕的挑戰者們,卻將這些垂老的電信公司打的節節敗退​​。

Erlang語言能實現超越嗎?


有著這樣驕人的成績,你也許會認為Erlang會被人們廣泛的使用。但現實情況要比你想像的複雜得多。

直到現在,Erlang程式語言的開發者社區規模依然很小,並且大部分聚集在歐洲。這種語言的語法是公認的“奇特”。如果你想分析複雜的數據或架設一個小網站,自然會選擇其它更好的語言和工具。而且,很多新出現的程式語言和變種都藉鑑了Erlang語言的基本理念,從Google的Go語言到Docker語言,競爭越來越激烈。

Elixir給Erlang帶來了希望——Armstrong最近的大力讚揚。Elixir將Erlang的語法普通化,這能幫助這種語言模仿Rails帶紅Ruby語言的模式找到自己的出路。像Chicago Boss這樣的項目也在努力讓這種語言更用戶友好化。一旦有更多的社群在Erlang語言周圍聚集,人們將會發現OTP(開放電信平台)裡更豐富的功能。

“他們從開發堅固無比的軟體和程式庫中總結出來很多模式,我們可以很好的借用,”Clark說。

Erlang語言否能流行起來的一個關鍵是移動裝置市場,就是我們所說的網路設備。智慧型裝置愛好者們已經在嘗試在MQTT——一個輕量級的傳感器間消息傳輸協議——上使用Erlang。如果能簡訊控制恆溫器,那用WhatsApp也一定能行。

造就WhatsApp 190億美元背後的程式語言:Erlang Reviewed by Whoops SEO on 7:00 下午 Rating: 5

沒有留言:

All Rights Reserved by TechRoomage | 科技空間 © 2014 - 2015
Designed by TechRoomage

聯絡表單

名稱

以電子郵件傳送 *

訊息 *

技術提供:Blogger.