從零開始手寫dubborpc框架-創(chuàng)新互聯(lián)

rpc

rpc 是基于 netty 實(shí)現(xiàn)的 java rpc 框架,類似于 dubbo。

成都創(chuàng)新互聯(lián)公司2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元三門做網(wǎng)站,已為上家服務(wù),為三門各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575

主要用于個(gè)人學(xué)習(xí),由漸入深,理解 rpc 的底層實(shí)現(xiàn)原理。

前言

工作至今,接觸 rpc 框架已經(jīng)有很長(zhǎng)時(shí)間。

但是對(duì)于其原理一直只是知道個(gè)大概,從來沒有深入學(xué)習(xí)過。

以前一直想寫,但由于各種原因被耽擱。

技術(shù)準(zhǔn)備

Java 并發(fā)實(shí)戰(zhàn)學(xué)習(xí)

TCP/IP 協(xié)議學(xué)習(xí)筆記

Netty 權(quán)威指南學(xué)習(xí)

這些技術(shù)的準(zhǔn)備階段,花費(fèi)了比較長(zhǎng)的時(shí)間。

也建議想寫 rpc 框架的有相關(guān)的知識(shí)儲(chǔ)備。

其他 rpc 框架使用的經(jīng)驗(yàn)此處不再贅述。

快速迭代

原來一直想寫 rpc,卻不行動(dòng)的原因就是想的太多,做的太少。

想一下把全部寫完,結(jié)果就是啥都沒寫。

所以本次的開發(fā),每個(gè)代碼分支做的事情實(shí)際很少,只做一個(gè)功能點(diǎn)。

陸陸續(xù)續(xù)經(jīng)過近一個(gè)月的完善,對(duì) rpc 框架有了自己的體會(huì)和進(jìn)一步的認(rèn)知。

代碼實(shí)現(xiàn)功能,主要參考 Apache Dubbo

文檔

文檔

文檔將使用 markdown 文本的形式,補(bǔ)充 code 層面沒有的東西。

代碼注釋

代碼有詳細(xì)的注釋,便于閱讀和后期維護(hù)。

測(cè)試

目前測(cè)試代碼算不上完善。后續(xù)將陸續(xù)補(bǔ)全。

rpc 模塊

rpc-common 公共代碼

rpc-server 服務(wù)端

rpc-client 客戶端

rpc-register 注冊(cè)中心

rpc-test 測(cè)試模塊

代碼分支

release_0.0.1-server 服務(wù)端啟動(dòng)

release_0.0.2-client 客戶端啟動(dòng)

release_0.0.3-客戶端調(diào)用服務(wù)端

release_0.0.4-p2p 客戶端主動(dòng)調(diào)用服務(wù)端

release_0.0.5-serial 序列化

release_0.0.6-通用的反射調(diào)用

release_0.0.7-timeout 超時(shí)處理

release_0.0.8-register 注冊(cè)中心

release_0.0.9-load balance 負(fù)載均衡

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)雅關(guān)閉

release_0.1.4-interceptor 攔截器

測(cè)試代碼

從 v0.0.6 及其之后,為了讓代碼保持純凈,將測(cè)試代碼全部放在 rpc-example。

每個(gè)測(cè)試代碼和實(shí)現(xiàn)版本一一對(duì)應(yīng)。

rpc-example

文檔說明

0.0.1-server 服務(wù)端啟動(dòng)

0.0.2-client 客戶端啟動(dòng)

0.0.3-客戶端調(diào)用服務(wù)端

0.0.4-p2p 客戶端主動(dòng)調(diào)用服務(wù)端

0.0.5-serial 序列化

0.0.6-通用反射調(diào)用

0.0.7-timeout 超時(shí)處理

0.0.8-register 注冊(cè)中心

0.0.9-load balance 負(fù)載均衡

0.1.0-callType 調(diào)用方式

0.1.1-fail 失敗策略

0.1.2-generic 泛化調(diào)用

0.1.3-gracefully 優(yōu)雅關(guān)閉

0.1.4-interceptor 攔截器

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

名稱欄目:從零開始手寫dubborpc框架-創(chuàng)新互聯(lián)
文章URL:http://muchs.cn/article12/cdscgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)網(wǎng)站策劃、軟件開發(fā)虛擬主機(jī)、網(wǎng)站導(dǎo)航定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)