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