現在出現了很多中間件解決跨語言問題,使用RPC遠程調用;但是龐大是個問題,而且要按照格式使用。尤其是源碼量比較龐大。 為了簡單易用,我採用訂閱發佈模型,在此基礎上創建了fastRPC,模擬RPC,調用遠端方法。 其實主要過程就是通過提供的類,將每個參數打包為特定格式,按照類型名稱,在服務端匹配轉換; ...
現在出現了很多中間件解決跨語言問題,使用RPC遠程調用;但是龐大是個問題,而且要按照格式使用。尤其是源碼量比較龐大。
為了簡單易用,我採用訂閱發佈模型,在此基礎上創建了fastRPC,模擬RPC,調用遠端方法。
其實主要過程就是通過提供的類,將每個參數打包為特定格式,按照類型名稱,在服務端匹配轉換;
服務的接受後進行方法處理;
我已Java創建了原型,代碼很少,也可以很方便的轉換成C#,c++語言。
服務使用註解,將發佈的服務方法設置特定服務名稱,打包後程式會自動掃描jar文件。如果是c++這些,可以自己手動註冊。註冊服務信息。
可以替換通信包,當前基礎通信包中封裝了介面,只要滿足介面,修改為其它通信方式,當前為tcp;服務端由配置文件讀取,沒有配置文件則使用預設;客戶端使用通信地址 ,在通信地址中使用協議;通信地址格式:tcp -h host -p port
客戶端調用時,調用的服務名稱使用註解上規定發佈名稱,參數名稱一定要正確
java原型已經打包放置在csdn上,以後還有更新,如果覺得可以使用討論,則在git上獲取最新版本。
地址:https://github.com/jinyuttt/fastRPC.git