[發明專利]基于消息隊列的同步調用方法、系統及計算機設備在審
| 申請號: | 202011605930.1 | 申請日: | 2020-12-30 |
| 公開(公告)號: | CN112685190A | 公開(公告)日: | 2021-04-20 |
| 發明(設計)人: | 李澤青 | 申請(專利權)人: | 平安普惠企業管理有限公司 |
| 主分類號: | G06F9/52 | 分類號: | G06F9/52;G06F9/54 |
| 代理公司: | 深圳市精英專利事務所 44242 | 代理人: | 李翔宇 |
| 地址: | 518000 廣東省深圳市前海深港合作區前*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 消息 隊列 同步 調用 方法 系統 計算機 設備 | ||
本發明公開了基于消息隊列的同步調用方法、系統、計算機設備及存儲介質,涉及消息隊列技術,包括將當前消息發送至服務器,并將當前線程根據消息ID進行上鎖;接收服務器發送的回包消息;將回包消息與當前消息進行合并,得到合并消息;獲取所述回包消息對應的消息ID及回包消息接收時間,根據回包消息接收時間與當前消息對應的發送時間之間的時間間隔進行對應的目標操作。通過消息隊列添加同步調用的方式后,可很方便地獲取消息消費的詳情和結果,無需再額外設計響應的同步機制,高可用方面均由消息隊列進行統一設計。
技術領域
本發明涉及云存儲的消息隊列技術領域,尤其涉及一種基于消息隊列的同步調用方法、系統、計算機設備及存儲介質。
背景技術
目前,日常系統使用中,消息隊列一般都當作削峰填谷的中間緩沖組件,在流量爆炸的時候當作緩沖以減少對后端業務系統的沖擊。此外,消息隊列也可讓上下游業務端解耦,對于熔斷限流等高可用架構設計也無需太過于關心。因此,發送端一般不關心消息處理結果,消息隊列一般不提供此類功能。
但是在日常業務處理中,有部分消息發送端需要知道消息處理結果。如果選擇使用一般的服務調用框架,則失去了消息隊列削峰填谷的作用,可能會對后端業務系統造成沖擊。而且選用RPC框架(即遠程調用協議框架)會加大服務治理的難度,系統間的相互調用關系會呈現指數級上升,調用追蹤難度很大。
發明內容
本發明實施例提供了一種基于消息隊列的同步調用方法、系統、計算機設備及存儲介質,旨在解決現有技術中選用RPC框架會加大服務治理的難度,系統間的相互調用關系會呈現指數級上升,調用追蹤難度很大的問題。
第一方面,本發明實施例提供了一種基于消息隊列的同步調用方法,應用于一發送端,其包括:
將當前消息發送至服務器,并將所述當前消息對應的當前線程根據消息ID進行上鎖以阻塞當前線程執行;其中,所述當前消息中包括消息頭和消息體,所述消息頭中包括用于標識是否為同步調用的標識值,及發送端連接信息和發送端實體信息;
接收服務器所發送與所述當前消息對應的回包消息;其中,所述回包消息中包括回包消息頭和回包消息體;
將所述回包消息與所述當前消息進行合并,得到合并消息;
獲取所述回包消息對應的消息ID及回包消息接收時間,判斷回包消息接收時間與當前消息對應的發送時間之間的時間間隔是否超出預設的等待超時時間閾值;以及
若回包消息接收時間與當前消息對應的發送時間之間的時間間隔未超出所述等待超時時間閾值,對所述當前線程進行解鎖。
第二方面,本發明實施例提供了一種基于消息隊列的同步調用方法,應用于一服務器,其包括:
接收用戶端發送的當前消息,解析所述當前消息中包括的消息頭和消息體,將所述當前消息進行本地持久化以存儲至預設的存儲區域;
將所述當前消息發送至消費者隊列;
接收消費端發送的與所述當前消息對應的回包消息,將所述回包消息進行解析得到回包消息頭和回包消息體,并將所述回包消息進行本地持久化以存儲至預設的存儲區域;
獲取所述回包消息頭中包括的發送端連接信息,根據所述發送端連接信息與對應的發送端建立連接,將所述回包消息發送至所述發送端;以及
接收發送端根據所述回包消息發送的合并消息,將所述合并消息存儲在對應的主題。
第三方面,本發明實施例提供了一種基于消息隊列的同步調用系統,其包括:服務器以及至少一發送端,所述發送端用于執行第一方面所述的基于消息隊列的同步調用方法,所述服務器端用于執行如第二方面所述的基于消息隊列的同步調用方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于平安普惠企業管理有限公司,未經平安普惠企業管理有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011605930.1/2.html,轉載請聲明來源鉆瓜專利網。





