現有的軟件中用了大量的COM接口,導致無法跨平台,當然由於與Windows結合的太緊密,還有很多無法跨平台的地方。那麼為了實現跨平台,支持Linux系統,以及後續的分布式,首要任務是去除COM接口。
在對大量框架進行調研後,決定使用RCF替換COM接口。
經過各項對比,認為:
在我的筆記本 Windows7 專業版 SP1 x64 、Intel(R) Core(TM) i5-2450M CPU @ 2.5GHz、 12G內存 的機器上,編寫了Demo,對RCF進行了測試。
一個Server程序,一個Client程序,通過TCP進行通信,Client程序中調用Server服務的接口,這個接口實現是一個空方法,用來測試純接口調用的極限次數,Release x86版測試結果如下:
調用兩萬次,耗時1647ms左右,平均每秒可以調用12143次,平均每次調用耗時82微妙。
求推薦:進程調度庫、進程間通信庫,All 開源,謝謝!-C/C++-ChinaUnix.net
RCF - Interprocess Communication for C++ – CodeProject
分布式通信的幾種方式(EJB、RMI、RPC、JMS、web service雜談)
C/C++ 分布式應用/網格開源軟件
現在主流開源分布式系統架構都有哪些?
thrift 入門介紹
Apache Thrift - 可伸縮的跨語言服務開發框架
cross platform IPC
經過各項對比後,雖然RCF並不是最強大的框架,可能也不是性能最高的框架,但是在替換COM接口這種需求的情況下,RCF應該是最適合的框架,所以最終選擇RCF框架來完成此任務。