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