[發(fā)明專利]消息隊列系統(tǒng)以及基于消息隊列系統(tǒng)的消息處理方法在審
| 申請?zhí)枺?/td> | 202010583137.X | 申請日: | 2020-06-23 |
| 公開(公告)號: | CN111949497A | 公開(公告)日: | 2020-11-17 |
| 發(fā)明(設計)人: | 陳光明 | 申請(專利權)人: | 貝殼技術有限公司 |
| 主分類號: | G06F11/34 | 分類號: | G06F11/34 |
| 代理公司: | 北京路浩知識產(chǎn)權代理有限公司 11002 | 代理人: | 楊云云 |
| 地址: | 300457 天津市濱海新區(qū)經(jīng)濟技術開發(fā)*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 消息 隊列 系統(tǒng) 以及 基于 處理 方法 | ||
本發(fā)明實施例提供一種消息隊列系統(tǒng)以及基于消息隊列系統(tǒng)的消息處理方法,消息隊列系統(tǒng)包括生產(chǎn)端、消費端以及監(jiān)聽端;消息處理方法包括在生產(chǎn)端和消費端中注冊與事件對應的鉤子函數(shù);當生產(chǎn)端或消費端對消息的操作符合預設的事件時,觸發(fā)執(zhí)行對應的鉤子函數(shù),鉤子函數(shù)記錄并發(fā)送狀態(tài)信息至監(jiān)聽端;監(jiān)聽端創(chuàng)建與消息對應的影子消息,并將接收到的狀態(tài)信息記錄在影子消息中,根據(jù)影子消息對消息的處理過程進行統(tǒng)計。本發(fā)明實施例實現(xiàn)了細粒度且實時的消息處理追蹤。
技術領域
本發(fā)明涉及消息隊列處理技術領域,更具體地,涉及一種消息隊列系統(tǒng)以及一種基于消息隊列系統(tǒng)的消息處理方法。
背景技術
消息隊列是現(xiàn)代大型網(wǎng)站以及分布式系統(tǒng)中最重要的組成部分,主要用來解決系統(tǒng)應用耦合、異步消息、流量削峰等問題,是實現(xiàn)高性能、高可用、可伸縮和最終一致性架構的大型分布式系統(tǒng)或網(wǎng)站的不可或缺的一環(huán)。
常見的ActiveMQ、RabbitMQ、RocketMQ、Kafka等大型消息中間件或者以及基于Redis、Mysql等研發(fā)的小型消息中間件都在Web開發(fā)領域的很多場景中扮演著越來越重要的角色。但是消息隊列的監(jiān)測卻始終比較簡單,目前業(yè)界提供的監(jiān)控往往僅能顯示消息隊列的積壓情況,消費總數(shù)量等最大的幾個指標。而對于消息本身缺乏度量和追蹤的方案,往往不能滿足業(yè)務方的訴求,導致消息隊列的使用方們要做許多的重復工作來監(jiān)測消息。
發(fā)明內容
本發(fā)明實施例提供一種克服上述問題或者至少部分地解決上述問題的消息隊列系統(tǒng)以及基于消息隊列系統(tǒng)的消息處理方法。
第一個方面,本發(fā)明實施例提供一種于消息隊列系統(tǒng)的消息處理方法,所述消息隊列系統(tǒng)包括生產(chǎn)端、消費端以及監(jiān)聽端;所述消息處理方法包括:
在生產(chǎn)端和消費端中注冊與事件對應的鉤子函數(shù);
當所述生產(chǎn)端或所述消費端對消息的操作符合預設的事件時,觸發(fā)執(zhí)行對應的鉤子函數(shù),所述鉤子函數(shù)記錄并發(fā)送狀態(tài)消息至所述監(jiān)聽端;所述狀態(tài)信息為所述消息在事件后的更新狀態(tài)以及更新時刻;
所述監(jiān)聽端創(chuàng)建與所述消息對應的影子消息,并將接收到的所述狀態(tài)消息記錄在所述影子消息中,根據(jù)所述影子消息對所述消息的處理過程進行統(tǒng)計。
進一步地,所述在生產(chǎn)端和消費端中注冊與事件對應的鉤子函數(shù),包括:
在所述生產(chǎn)端中注冊第一鉤子函數(shù),所述第一鉤子函數(shù)在消息寫入事件后觸發(fā),用于將所述消息的內容、消息入隊時間以及已入隊狀態(tài)發(fā)送至所述監(jiān)聽端;
相應地,當所述生產(chǎn)端或所述消費端對消息的操作符合預設的事件時,觸發(fā)執(zhí)行對應的鉤子函數(shù),包括:
當所述生產(chǎn)端將生成的消息寫入消息隊列時構成消息寫入事件,觸發(fā)執(zhí)行所述第一鉤子函數(shù);
相應地,所述將接收到的所述狀態(tài)信息記錄在影子消息中,包括:
所述監(jiān)聽端在所述影子消息中記錄接收到的所述消息的內容和消息入隊時間,并將所述影子消息的狀態(tài)更新為已入隊。
進一步地,所述在生產(chǎn)端和消費端中注冊與事件對應的鉤子函數(shù),還包括:
在所述消費端中注冊第二鉤子函數(shù),所述第二鉤子函數(shù)在消息開始執(zhí)行事件后觸發(fā),用于將所述消息的消息出隊時間以及消費中狀態(tài)發(fā)送至所述監(jiān)聽端;
相應地,當生產(chǎn)端或消費端對消息的操作符合預設的事件時,觸發(fā)執(zhí)行對應的鉤子函數(shù),包括:
當消費端將消息從消息隊列中取出時構成消息開始執(zhí)行事件,觸發(fā)執(zhí)行所述第二鉤子函數(shù);
相應地,將接收到的所述狀態(tài)信息記錄在影子消息中,包括:
所述監(jiān)聽端在所述影子消息中記錄接收到的所述消息的消息出隊時間,并將所述影子消息的狀態(tài)更新為消費中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于貝殼技術有限公司,未經(jīng)貝殼技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010583137.X/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





