RCF:一個相當不錯的C++分散式RPC框架

double2li發表於2017-07-06

RCF(遠端呼叫框架)是一個可以移植的C++程式間通訊框架,使用C++語言特性,提供了一個簡單高效的編寫分散式C++軟體的途徑。RCF利用編譯時多型清晰分開了介面和實現. 和傳統的RPC框架如CORBA,DCOM,.NETRemoting,WCF,WS-*,等所支援的物件導向方式不一樣,RCF提供了一種面向介面的方式。RCF讓你明確指定介面和資料,而不是產生複雜的物件模型和不透明的序列化程式碼,這樣你能自由實現自己的物件模型。

   RCF的其他優勢:
· 可移植性 支援多種編譯器,和作業系統. 
· 可伸縮性 可用於廣泛應用,從父子程式IPC到大型分散式系統. 
· 高效, 在一些關鍵路徑上使用了零拷貝,零分配,包括服務端和客戶端. 
· 支援多種傳輸方式 (TCP, UDP, Win32有名管道 and UNIX本地套接字). 
· 支援壓縮和加密. 
· 支援單向和雙向訊息. 
· 支援批量單向訊息. 
· 支援釋出/訂閱風格訊息. 
· 支援UDP上的多播和廣播. 
· 支援服務端到客戶端的回撥. 
· 健壯的版本支援. 
· 內建序列化框架. 
· 內建 Boost.Serialization 支援. 
· 內建Google`s Protocol Buffers 支援. 
· 支援單執行緒和多執行緒程式設計模式. 
· 無依賴, 除了一些 Boost 標頭檔案 (1.33.0 or later). zlib 和 OpenSSL 依賴是可選.

RCF使用場合:
· 客戶端-伺服器系統,分佈在區域網或者廣域網. 從工業程式控制角度,替代分散式桌面應用DCOM,提供跨平臺通訊能力.
    後臺服務元件,在典型的同質區域網環境。
· Windows服務和她的監控程式之間的通訊。
· 32位和64位可執行元件通訊橋,例如64位程式呼叫32位動態連線庫.
· 父子程式間通訊.
· 一般的本地IPC,取代COM.


相關文章