CERL 這個詞的來源是因為他被定為為:Erlang Model for C++。目的是在C++中獲得Erlang的好處(部分)。不過,實際上CERL被實現為與語言無關的。基於CERL,你可以用PHP、Python之類的語言來寫伺服器或客戶端。
基本介紹
- 外文名:cerl
- 定義:Erlang Model for C++。
- 基礎:Erlang的分散式模型
- 領域:計算機
特徵
CERL 基於Erlang的分散式模型。實現了Erlang做最重要的幾個概念:Node, Process, Mail (Message)。他也支持速錯(Fail fast)及GenServer編程框架。當然,也有它沒有做到的,如:
CERL 不支持輕量級的進程。儘管CERL的Process模型和Erlang一致,但是他並不輕量,事實上CERL的進程就是作業系統中的Thread。剛開始我準備用協程,不過後來被證明這是不必要的,所以CERL永遠都不考慮協程這東西。CERL 不支持熱部署。當然,這是指他沒有提供機制支持,而不是指你沒法做到。
CERL對外表現為一個動態庫(cerl.dll) + 一個編譯器(sdlc)。邏輯上CERL分為兩層,底層稱為CERL Core,上層為GenServer框架。
CERL Core –表現為動態庫cerl.dll。主要實現Erlang的分散式模型,及其他輔助基礎設施。GenServer框架。它主要定義了伺服器接口描述語言: Server Description Language(SDL),並提供相應的編譯器 sdlc 以生成:客戶端如何調用該伺服器的Proxy代碼。伺服器端Stub代碼。伺服器Impl檔案的框架代碼。