RPC框架简易实现
轉(zhuǎn)自:http://www.cnblogs.com/xiohao/p/5475218.html
RPC框架簡(jiǎn)易實(shí)現(xiàn)
RPC(Remote Procedure Call Protocol)——遠(yuǎn)程過程調(diào)用協(xié)議,它是一種通過網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請(qǐng)求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。RPC協(xié)議假定某些傳輸協(xié)議的存在,如TCP或UDP,為通信程序之間攜帶信息數(shù)據(jù)。在OSI網(wǎng)絡(luò)通信模型中,RPC跨越了傳輸層和應(yīng)用層。RPC使得開發(fā)包括網(wǎng)絡(luò)分布式多程序在內(nèi)的應(yīng)用程序更加容易。 RPC采用客戶機(jī)/服務(wù)器模式。請(qǐng)求程序就是一個(gè)客戶機(jī),而服務(wù)提供程序就是一個(gè)服務(wù)器。首先,客戶機(jī)調(diào)用進(jìn)程發(fā)送一個(gè)有進(jìn)程參數(shù)的調(diào)用信息到服務(wù)進(jìn)程,然后等待應(yīng)答信息。在服務(wù)器端,進(jìn)程保持睡眠狀態(tài)直到調(diào)用信息到達(dá)為止。當(dāng)一個(gè)調(diào)用信息到達(dá),服務(wù)器獲得進(jìn)程參數(shù),計(jì)算結(jié)果,發(fā)送答復(fù)信息,然后等待下一個(gè)調(diào)用信息,最后,客戶端調(diào)用進(jìn)程接收答復(fù)信息,獲得進(jìn)程結(jié)果,然后調(diào)用執(zhí)行繼續(xù)進(jìn)行。 有多種 RPC模式和執(zhí)行。最初由 Sun 公司提出。IETF ONC 憲章重新修訂了 Sun 版本,使得 ONC RPC 協(xié)議成為 IETF 標(biāo)準(zhǔn)協(xié)議。現(xiàn)在使用最普遍的模式和執(zhí)行是開放式軟件基礎(chǔ)的分布式計(jì)算環(huán)境(DCE)。 -------------百度百科 在簡(jiǎn)單了解了RPC的相關(guān)概念后,我們通過Java來開發(fā)一個(gè)簡(jiǎn)易版的RPC框架,所涉及的知識(shí)包括java的套接字(Socket)+java反射+JDK動(dòng)態(tài)代理 常見的RPC實(shí)現(xiàn)由兩種方式,一種為TCP(應(yīng)用層為HTTP),一種為面向無連接的UDP。這里我們使用TCP來實(shí)現(xiàn)一個(gè)簡(jiǎn)易版的RPC框架 相關(guān)內(nèi)容可以參考阿里大神(dubbo的開發(fā)者之一)的內(nèi)容:http://javatar.iteye.com/blog/1123915 言歸正傳:所涉及的模塊包括 1、RPC服務(wù)器 ? 2、接口 ? ?3、實(shí)現(xiàn)類 ? 4、服務(wù)器提供者模塊 ? ?5、客戶端消費(fèi)者模塊 1、RPC服務(wù)器+接口代理類轉(zhuǎn)載于:https://www.cnblogs.com/chengjun/p/6178975.html
總結(jié)
- 上一篇: ViewPager图片切换的简单案例
- 下一篇: 长按事件的模拟