中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣實現簡單的RPC框架

發布時間:2021-12-18 16:54:18 來源:億速云 閱讀:130 作者:柒染 欄目:互聯網科技

怎樣實現簡單的RPC框架,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

1.定義上下文對象

在RpcContext對象中增加一個map類型的參數對象,可以存放任意擴展的參數。

怎樣實現簡單的RPC框架

2.RPC請求對象中增加上下文參數

RpcRequest增加如下字段,用于服務端調用。

怎樣實現簡單的RPC框架

3.RpcInvocation接口中增加上下文參數

在后續新增加的過濾器使用。

怎樣實現簡單的RPC框架

4.客戶端代理

RpcProxy在組裝RpcRequest對象時,從RpcContext中獲取最新的參數傳遞給RpcReuest,從而傳遞給服務端。

怎樣實現簡單的RPC框架

5.客戶端上下文過濾器

主要作用就是從本線線程變量中獲取參數傳遞給RpcInvocation。

怎樣實現簡單的RPC框架

6.服務端上下文過濾器

服務端上下文過濾器與客戶端的作用相反,是從RpcInvocation中獲取參數傳遞給本地線程變量RpcContext,后面在執行服務端方法時就可以方便的通過RpcContext獲取指定變量。

怎樣實現簡單的RPC框架

7.過濾器排序

因為我們的RpcContext是個本地線程變量,而且Rpc服務端是多線程處理業務,所以需要在請求結束后及時的清理掉相關本地線程變量信息。這就需要清理上下文的過濾動作在最后執行,否則有會出現服務端方法還沒有執行就被清空了參數。創建一個工具類,專門用來處理獲取客戶端以及服務端過濾器。增加order字段,升級排列。

怎樣實現簡單的RPC框架

8.過濾器工具類

創建ActiveFilterUtil,包含下面兩個函數。

(1)過濾器排序函數,獲取特定注解的類,然后根據注解上的排序屬性升序排序。

怎樣實現簡單的RPC框架

(2)獲取RPC過濾器列表,提供給客戶端以及服務端的一個協助方法,便于客戶端以及服務構建過濾器職責鏈。

怎樣實現簡單的RPC框架

9.客戶端以及服務端初始化

獲取過濾器map的邏輯改為調用上面ActiveFilterUtil.getFilterMap方法。
 

看完上述內容,你們掌握怎樣實現簡單的RPC框架的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

rpc
AI

崇明县| 渭南市| 乳源| 上杭县| 乐东| 荆州市| 通河县| 斗六市| 洪江市| 华坪县| 怀柔区| 泌阳县| 河池市| 大安市| 简阳市| 图片| 宽城| 宁蒗| 昌平区| 宣化县| 松江区| 淮阳县| 聂荣县| 那曲县| 陆川县| 平原县| 高邑县| 固原市| 隆安县| 嘉善县| 丰宁| 丹棱县| 光泽县| 镇宁| 胶州市| 保德县| 黔西县| 巴彦淖尔市| 介休市| 泸州市| 凤山市|