rpc 是基於 netty 實現的 java rpc 框架,相似於 dubbo。java
主要用於我的學習,由漸入深,理解 rpc 的底層實現原理。git
工做至今,接觸 rpc 框架已經有很長時間。github
可是對於其原理一直只是知道個大概,歷來沒有深刻學習過。apache
之前一直想寫,但因爲各類緣由被耽擱。markdown
TCP/IP 協議學習筆記負載均衡
這些技術的準備階段,花費了比較長的時間。tcp
也建議想寫 rpc 框架的有相關的知識儲備。學習
其餘 rpc 框架使用的經驗此處再也不贅述。
原來一直想寫 rpc,卻不行動的緣由就是想的太多,作的太少。
想一下把所有寫完,結果就是啥都沒寫。
因此本次的開發,每一個代碼分支作的事情實際不多,只作一個功能點。
陸陸續續通過近一個月的完善,對 rpc 框架有了本身的體會和進一步的認知。
代碼實現功能,主要參考 Apache Dubbo
文檔將使用 markdown 文本的形式,補充 code 層面沒有的東西。
代碼有詳細的註釋,便於閱讀和後期維護。
目前測試代碼算不上完善。後續將陸續補全。
rpc-common 公共代碼
rpc-server 服務端
rpc-client 客戶端
rpc-register 註冊中心
rpc-test 測試模塊
release_0.0.9-load balance 負載均衡
從 v0.0.6 及其以後,爲了讓代碼保持純淨,將測試代碼所有放在 rpc-example。
每一個測試代碼和實現版本一一對應。