[發明專利]一種基于Dubbo服務的會話消息的傳遞方法和裝置有效
| 申請號: | 202011206768.6 | 申請日: | 2020-11-03 |
| 公開(公告)號: | CN112256456B | 公開(公告)日: | 2021-10-01 |
| 發明(設計)人: | 樂思文 | 申請(專利權)人: | 武漢物易云通網絡科技有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F9/48;G06F8/41 |
| 代理公司: | 深圳市六加知識產權代理有限公司 44372 | 代理人: | 崔肖肖;向彬 |
| 地址: | 430000 湖北省武漢市東湖新技術開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 dubbo 服務 會話 消息 傳遞 方法 裝置 | ||
本發明公開了一種基于Dubbo服務的會話消息的傳遞方法和裝置,該傳遞方法包括:第一Dubbo服務接收到來自于消費方的第一請求后,選取目標執行線程對第一請求進行處理;第一過濾器從第一請求中獲取第一上下文消息,并將第一上下文消息存儲在第一線程局部變量中,在第一過濾器完成上下文消息的存儲后,第二過濾器將第一上下文消息存儲在第二線程局部變量;在第一Dubbo服務發生級聯調用時,可以從第二線程局部變量中獲取第一上下文消息,以進行第一請求的后續邏輯處理。在本發明中,擴展的過濾器將上下文消息存儲在新增的局部變量中,當發生級聯調用時,可以從新增的局部變量獲取上下文消息,避免Dubbo服務中會話消息的問題丟失。
技術領域
本發明屬于Dubbo服務技術領域,更具體地,涉及一種基于Dubbo服務的會話消息的傳遞方法和裝置。
背景技術
目前,基于開源Java API(Application Programming Interface,簡寫為API)網關框架Soul和微服務框架Dubbo的組合架構如圖1所示,API網關作為消費方,將原始請求轉發到后端的Dubbo服務A,Dubbo服務A在對原始請求進行處理的過程中,需要將原始請求分解為邏輯1和邏輯2,其中,邏輯1是調用另外的微服務Dubbo服務B,邏輯2是緊跟在邏輯1后處理,當兩個邏輯串行執行完成后,Dubbo服務A的此業務方才算處理完成。例如,原始請求是請求修改密碼接口,Dubbo服務A在對原始請求進行處理的過程中,可以將原始請求分解為兩個邏輯,邏輯1:驗證舊密碼是否正確;邏輯2:將舊密碼修改成新密碼。對于邏輯1,需要調用另外的Dubbo服務去驗舊密碼。驗證通過后,再執行邏輯2為用戶修改密碼,在實際應用場景下,邏輯2在執行過程中,需要用到原始請求的上下文消息。
然而,針對前述應用場景,現有的Dubbo源代碼的設計方案為:API網關的原始請求的上下文消息傳遞到后端的Dubbo服務A中,并且存儲到該Dubbo服務A當前工作線程的線程局部變量InternalThreadLocalRpcContext中。如果當前工作線程再繼續調用另外一個Dubbo服務時,那么線程局部變量InternalThreadLocalRpcContext會被清空,將會導致原始請求的上下文消息丟失,前述應用場景的邏輯2由于無法獲取到上下文消息而導致業務執行失敗。
鑒于此,克服該現有技術產品所存在的不足是本技術領域亟待解決的問題。
發明內容
針對現有技術的以上缺陷或改進需求,本發明提供了一種基于Dubbo服務的會話消息的傳遞方法和裝置,其目的在于,擴展過濾器和線程局部變量,擴展的過濾器將上下文消息存儲在新增的局部變量中,當發生級聯調用時,可以從新增的局部變量獲取上下文消息,以解決Dubbo服務中會話消息丟失的問題。
為實現上述目的,按照本發明的一個方面,提供了一種基于Dubbo服務的會話消息的傳遞方法,所述傳遞方法應用于Dubbo服務系統,所述Dubbo服務系統包括至少一個節點,在所述節點上部署Dubbo服務,其中,所述Dubbo服務包括多個執行線程;
所述傳遞方法包括:
第一Dubbo服務接收到來自于消費方的第一請求后,選取目標執行線程對所述第一請求進行處理,其中,所述目標執行線程配套設置有第一線程局部變量、第二線程局部變量、第一過濾器和第二過濾器;
所述第一過濾器從所述第一請求中獲取第一上下文消息,并將所述第一上下文消息存儲在所述第一線程局部變量中,
在所述第一過濾器完成上下文消息的存儲后,所述第二過濾器將所述第一上下文消息存儲在所述第二線程局部變量;
在所述第一Dubbo服務發生級聯調用時,可以從所述第二線程局部變量中獲取所述第一上下文消息,以進行所述第一請求的后續邏輯處理。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢物易云通網絡科技有限公司,未經武漢物易云通網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011206768.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:總線數據采集方法及裝置
- 下一篇:一種音樂聲樂教學系統及裝置





