您好,登錄后才能下訂單哦!
rpc 是基于 netty 實現的 java rpc 框架,類似于 dubbo。
主要用于個人學習,由漸入深,理解 rpc 的底層實現原理。
工作至今,接觸 rpc 框架已經有很長時間。
但是對于其原理一直只是知道個大概,從來沒有深入學習過。
以前一直想寫,但由于各種原因被耽擱。
Java 并發實戰學習
TCP/IP 協議學習筆記
Netty 權威指南學習
這些技術的準備階段,花費了比較長的時間。
也建議想寫 rpc 框架的有相關的知識儲備。
其他 rpc 框架使用的經驗此處不再贅述。
原來一直想寫 rpc,卻不行動的原因就是想的太多,做的太少。
想一下把全部寫完,結果就是啥都沒寫。
所以本次的開發,每個代碼分支做的事情實際很少,只做一個功能點。
陸陸續續經過近一個月的完善,對 rpc 框架有了自己的體會和進一步的認知。
代碼實現功能,主要參考 Apache Dubbo
文檔將使用 markdown 文本的形式,補充 code 層面沒有的東西。
代碼有詳細的注釋,便于閱讀和后期維護。
目前測試代碼算不上完善。后續將陸續補全。
rpc-common 公共代碼
rpc-server 服務端
rpc-client 客戶端
rpc-register 注冊中心
rpc-test 測試模塊
release_0.0.1-server 服務端啟動
release_0.0.2-client 客戶端啟動
release_0.0.3-客戶端調用服務端
release_0.0.4-p2p 客戶端主動調用服務端
release_0.0.5-serial 序列化
release_0.0.6-通用的反射調用
release_0.0.7-timeout 超時處理
release_0.0.8-register 注冊中心
release_0.0.9-load balance 負載均衡
release_0.1.0-callType 調用方式
release_0.1.1-fail 失敗策略
release_0.1.2-generic 泛化調用
release_0.1.3-gracefully 優雅關閉
release_0.1.4-interceptor 攔截器
從 v0.0.6 及其之后,為了讓代碼保持純凈,將測試代碼全部放在 rpc-example。
每個測試代碼和實現版本一一對應。
rpc-example
0.0.1-server 服務端啟動
0.0.2-client 客戶端啟動
0.0.3-客戶端調用服務端
0.0.4-p2p 客戶端主動調用服務端
0.0.5-serial 序列化
0.0.6-通用反射調用
0.0.7-timeout 超時處理
0.0.8-register 注冊中心
0.0.9-load balance 負載均衡
0.1.0-callType 調用方式
0.1.1-fail 失敗策略
0.1.2-generic 泛化調用
0.1.3-gracefully 優雅關閉
0.1.4-interceptor 攔截器
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。