版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Erlang的高級特性和應用,mryufeng@gmail.comhttp://blog.yufeng.info2009/8/19,Topic(90分鐘),Erlang在國內應用情況Erlang是個操作系統 *nixErlang分布和集群 (*)Erlang數據庫 Mnesia (*),1. Erlang在國內的應用案例,校內的廣告平臺Sohu的白社會阿里巴巴的云計算平臺Startup公司的webgame 一年一度的E
2、rlang中國社區(qū)活動,Erlang在國外的成功項目,EjabberdRabbitmqCouchdbMochiwebDisco…,2.Erlang和操作系統比較,Unix操作系統 用c++做例子函數 (void f() {})類 (class xxx{};)模塊(xxx.cpp)可執(zhí)行文件(編譯器,機器指令)應用程序包括數據文件OS啟動,系統進程(搶占式調度 )IPC通訊監(jiān)控工具(Top),Erlang呢?
3、,Erlang系統類比函數 (fun () -> ok end)模塊(module xxx. xxx.erl)Beam文件(編譯器,opcode)Application (beam+數據文件)VM bootstrap, erlang進程 (搶占調度 )消息,Port, IPC通訊etop,Erlang的系統組成,編譯器 erlang庫 erlangVM + 基本庫 c調試器 erlangProfile e
4、rlang工具集 erlang,高性能高可靠(20年成就卓越),用erlang可以很少的代碼做出一個hello world web服務器 單個cpu達到16000個并發(fā)請求。同樣功能的nginx服務器(頂級高手寫的, F5作者) 只能做到12000個并發(fā)請求。Erlang的代碼不存在c那樣潛在的bug, cover工具能夠100%覆蓋過了,基本上0.9999%可靠擴展容易 無需修改代碼 多個cpu 效能就等于 N ×
5、系數(0.8)Jit支持,更快更強,3. Erlang 分布和集群,C底層支持, 效率保證分布的原語是內置的 支持cnode, jnode進程的位置無關性名稱服務節(jié)點間自動tick,維護節(jié)點的up, downGlobal模塊提供全局空間的訪問Group leader提供全局的IO服務,分布之otp支持,gen_server 屏蔽位置相關rpcdistribute applicationFailoverTakeove
6、r進程的遷移分布數據庫mnesiatrace seq_token,節(jié)點間通訊,緊湊的協議 可替換的通訊通道節(jié)點名字epmd 相當于DNS消息透明安全措施 cookie,節(jié)點交互和容錯,支持節(jié)點間的link, monitor, exit節(jié)點up down自動覺醒節(jié)點加入自動化 同步信息節(jié)點支持分區(qū) 避免flood,為集群內置了inet常用的模塊,http/ftp/sftpsshssltcp/udp/sctp
7、asn.1corbasnmp,看圖不說話 (消息的跟蹤),3. Mnesia分布數據庫,傳統數據庫不保證實時IPC通訊數據列集Master/slave 模式數據水平切割麻煩,Mnesia的特點,適合讀多寫少的情況軟實時 大部分都都在本地內存(本地進程的cpu時間)同一進程 無需列集 無需IPC通訊支持水平分割支持數據冗余節(jié)點間對等 查詢和寫入可以在任何節(jié)點發(fā)起數據自動遷移,數據操作,數據備份/恢復和傳統數據庫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論