91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎樣實現簡單的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

隆子县| 黄平县| 嘉兴市| 石家庄市| 常熟市| 武安市| 阿坝| 华坪县| 邹城市| 新丰县| 万荣县| 信宜市| 方正县| 兴宁市| 鹤庆县| 吕梁市| 攀枝花市| 崇明县| 武宁县| 新津县| 塔城市| 新晃| 青铜峡市| 深泽县| 车致| 金坛市| 丰镇市| 榆社县| 仙游县| 黄浦区| 乌兰浩特市| 中山市| 繁昌县| 鄂温| 株洲市| 石台县| 大荔县| 舞阳县| 内丘县| 梁山县| 瑞丽市|