<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          京東推出輕量級分布式 RPC 框架 — EasyRPC

          共 1010字,需瀏覽 3分鐘

           ·

          2020-10-08 09:02

          點(diǎn)擊“開發(fā)者技術(shù)前線”,選擇“星標(biāo)?”

          在看|星標(biāo)|留言,? 真愛


          作者:張松然 來自:京東技術(shù)

          "

          RPC,即 Remote Procedure Call(遠(yuǎn)程過程調(diào)用),調(diào)用遠(yuǎn)程計(jì)算機(jī)上的服務(wù),就像調(diào)用本地服務(wù)一樣。RPC 可以很好的解耦系統(tǒng),如 WebService 就是一種基于 HTTP協(xié)議的 RPC。


          EasyRPC 框架使用的一些技術(shù)所解決的問題:

          • 通信:使用Netty作為通信框架。

          • Spring:使用Spring配置服務(wù),加載Bean。

          • 動(dòng)態(tài)代理:客戶端使用代理模式透明化服務(wù)調(diào)用。

          • 消息編解碼:使用Protostuff序列化和反序列化消息。

          "





          服務(wù)端發(fā)布服務(wù)





          一個(gè)服務(wù)接口



          一個(gè)服務(wù)實(shí)現(xiàn)



          spring-server.xml?配置文件



          服務(wù)在啟動(dòng)的時(shí)候通過 Spring 加載自定義 Bean



          通過實(shí)現(xiàn) export 啟動(dòng) Netty Server,并注冊服務(wù)到 Server







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






          Junit Test



          spring-client.xml?配置文件



          客戶端調(diào)用使用代理模式調(diào)用服務(wù)



          代理類,為 RpcFuture 設(shè)置超時(shí),否則會(huì)出現(xiàn)卡死現(xiàn)象



          通過 ConsumerFactoryBean 注入 Spring Bean



          通過 refer 啟動(dòng) Client Server



          通過對?connectFuture.channel().closeFuture 聽見監(jiān)聽,實(shí)現(xiàn)斷線自動(dòng)重練



          基于 Protostuff 實(shí)現(xiàn)序列化和反序列化工具



          由于處理的是 TCP 消息,TCP 的粘包處理 Handler。



          消息編解碼時(shí)開始4個(gè)字節(jié)表示消息的長度,也就是消息編碼的時(shí)候,先寫消息的長度,再寫消息。



          前線推出學(xué)習(xí)交流群,加群一定要備注:


          研究/工作方向+地點(diǎn)+學(xué)校/公司+昵稱(如大數(shù)據(jù)+上海+上交+可可)
          根據(jù)格式備注,可更快被通過且邀請進(jìn)群,領(lǐng)取一份專屬學(xué)習(xí)禮包
          掃碼加我微信進(jìn)群
          大廠內(nèi)推和技術(shù)交流,和前輩大佬們零距離

          好文點(diǎn)個(gè)在看吧!
          瀏覽 22
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  无码人妻一区二区三区在线神菜美 | 日韩精品在线观看高清 | 欧美在线 | 亚洲 | 12一15女人A片毛 | 看操逼逼 |