欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

實現(xiàn)一個迷你版的RPC-創(chuàng)新互聯(lián)

前言

在實際后臺服務(wù)開發(fā)中,比如訂單服務(wù)(開發(fā)者A負(fù)責(zé))需要調(diào)用商品服務(wù)(開發(fā)者B負(fù)責(zé)),那么開發(fā)者B會和A約定調(diào)用API,以接口的形式提供給A。通常都是B把API上傳到Maven游戲,然后B開始寫API的實現(xiàn),A只需要引入API依賴進(jìn)行開發(fā)即可。

萊西ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

實現(xiàn)一個迷你版的RPC

動手實現(xiàn)RPC商品服務(wù)工程

實現(xiàn)一個迷你版的RPC

注意,我將商品服務(wù)的API以及實現(xiàn)分為Maven的2個模塊來開發(fā)。這里,我們想給定一個商品ID,查詢得到商品對象信息。

商品對象

實現(xiàn)一個迷你版的RPC

實現(xiàn)一個迷你版的RPC

要注意的是,Product是可以被序列化的,Why?

很顯然,訂單系統(tǒng)調(diào)用商品系統(tǒng)的時候,需要商品系統(tǒng)返回一個商品,必然涉及到發(fā)生網(wǎng)絡(luò)傳輸,這就涉及對象的序列化和反序列化了。

商品查詢API接口

實現(xiàn)一個迷你版的RPC

訂單系統(tǒng)調(diào)用商品服務(wù)

實現(xiàn)一個迷你版的RPC

在訂單系統(tǒng)工程中需要引入商品服務(wù)API依賴。

在上圖代碼中,最重要的就是rpc方法了!

rpc實現(xiàn)方法

實現(xiàn)一個迷你版的RPC

第一,我們看到了Proxy.newProxyInstance,很顯然在進(jìn)行動態(tài)代理。也即是說,在訂單服務(wù)調(diào)用商品服務(wù)的代碼中,我們先是通過動態(tài)代理返回一個代理的IProductService類型對象,這意味著當(dāng)代理對象調(diào)用queryById方法的時候,會自動調(diào)用invoke方法!

第二,我們看看invoke到底做了些什么?

它本質(zhì)上就是進(jìn)行Socket通信,那么它需要傳遞什么信息給到商品服務(wù)呢?

我們知道訂單系統(tǒng)就是想調(diào)用商品服務(wù)的某個類的某個方法,然后把這個方法的返回結(jié)果傳輸給訂單系統(tǒng)!

想一想,如何調(diào)用某個類的某個方法呢?

只要我們能確定這個類的全限定類名、確定方法名、確定方法的參數(shù)類型,給定方法需要的具體參數(shù),通過反射就能實現(xiàn)。

商品服務(wù)調(diào)用后得到的結(jié)果,我們序列化寫入Socket流中,在訂單系統(tǒng)中反序列化得到對象即可。

第三,這里需要思考一個問題:在訂單系統(tǒng)中我們只知道商品服務(wù)的API,并不知道這背后的API到底是如何實現(xiàn)的,所以我們需要有一個映射,就是商品服務(wù)的API到商品服務(wù)的實現(xiàn)的一個映射關(guān)系,其實這就是所謂的服務(wù)的注冊!

商品API的具體實現(xiàn)

實現(xiàn)一個迷你版的RPC
實現(xiàn)一個迷你版的RPC

商品服務(wù)

實現(xiàn)一個迷你版的RPC

從這里,可以清晰的看到,商品服務(wù)讀取了訂單系統(tǒng)調(diào)用商品系統(tǒng)時發(fā)送的數(shù)據(jù),利用反射機(jī)制,進(jìn)行方法調(diào)用,并把調(diào)用結(jié)果寫入Socket輸出流。

運行結(jié)果

實現(xiàn)一個迷你版的RPC

啟動商品服務(wù)后,通過訂單系統(tǒng)發(fā)起對商品服務(wù)的調(diào)用。

以前總認(rèn)為RPC是遙不可及的,感覺是個很神奇的東西,實際上它的底層實現(xiàn)不就是這樣的么~

當(dāng)前文章:實現(xiàn)一個迷你版的RPC-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://aaarwkj.com/article20/cchsco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、小程序開發(fā)、網(wǎng)站設(shè)計動態(tài)網(wǎng)站、網(wǎng)站排名、企業(yè)建站

廣告

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

成都定制網(wǎng)站網(wǎng)頁設(shè)計
中文字幕日韩精品久久| 亚洲中文字幕在线不卡| 国产亚洲中文久久网久久| 欧美日韩一区二区三区四区高清视频| 国产欧美日本综合一区| 欧美日韩一级特黄大片| 视频免费观看网站不卡| 97视频在线观看网站| 亚洲成人高清在线播放| 夜夜高潮夜夜爽免费观看 | 中文字幕国产精品一二区| 免费又色又爽无遮挡网站| 欧美亚洲另类激情另类的| 日本精品三级一区二区视频| 国产高清成人小视频在线| 欧美日韩亚洲综合国产人| 把熟睡的少妇弄到高潮| 91久久精品国产一区| 久久久亚洲精品中文字幕蜜桃| 综合久久99中文综合久久| 亚洲精品欧美综合二区| 日日夜夜久久一二三区| 欧美精品日本一区二区| 99久久伊人精品综合观看| 亚洲av区一区二区三| 日韩精品一区二区一牛| 内射性感黑丝少妇av| 爱高潮www亚洲精品| 日韩亚洲国产激情一区二区| 国产亚洲一区激情小说| 亚洲熟女午夜毛片av毛片| 日本五十路亲子在线一区| 夫妻性生活短是什么原因| 欧美亚洲少妇人妻系列| 国产福利传媒在线观看| 国产二区三区在线播放| 日本女优中文字幕久久| 熟女熟妇乱女乱妇综合网| 日韩三级黄片在线观看| 日本欧美一区二区精品| 最新中文字幕人妻少妇|