[發明專利]一種基于消息隊列系統的消息處理方法和裝置有效
申請號: | 201710366692.5 | 申請日: | 2017-05-23 |
公開(公告)號: | CN107197015B | 公開(公告)日: | 2020-09-08 |
發明(設計)人: | 鄭光杰 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L12/803 |
代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 陳蕾;靳玫 |
地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
權利要求書: | 查看更多 | 說明書: | 查看更多 |
摘要: | |||
搜索關鍵詞: | 一種 基于 消息 隊列 系統 處理 方法 裝置 | ||
1.一種基于消息隊列系統的消息處理方法,所述消息隊列系統包括消息隊列服務端和消息隊列客戶端,所述消息隊列服務端包括屬于同一消息主題的多個隊列分組(partition);所述方法包括:
一個隊列分組接收作為生產者的消息隊列客戶端發送的消息;
所述隊列分組判斷當前的隊列長度是否達到閾值,若達到閾值,則向所述作為生產者的消息隊列客戶端返回隊列滿指令,并且返回推薦切換的目標隊列分組;
所述作為生產者的消息隊列客戶端根據所述隊列滿指令,將生產的消息轉發至所述目標隊列分組,以從源頭上減少消息的進入;
所述隊列分組接收作為消費者的消息隊列客戶端拉取消息的請求,所述作為消費者的消息隊列客戶端用于訂閱所述消息主題并處理所述消息主題下的隊列分組中發布的消息;
所述隊列分組判斷當前的隊列長度是否達到閾值,若達到閾值,則向所述消費者的消息隊列客戶端返回隊列滿指令,并且返回推薦切換的目標隊列分組;
所述作為消費者的消息隊列客戶端根據所述隊列滿指令,將由所述隊列分組拉取的消息轉發至所述目標隊列分組,以由所述目標隊列分組對應的消費者的消息隊列客戶端進行處理,從出口加快消息的離開;
所述返回推薦切換的目標隊列分組,包括:
所述隊列分組向所述消息隊列服務端的隊列管理器請求推薦切換的目標對列分組;
所述隊列管理器根據位于同一消息主題下的各個隊列分組的隊列負載狀態,選擇當前負載低于負載最大閾值的隊列分組作為所述目標隊列分組。
2.根據權利要求1所述的方法,所述方法還包括:若當前的所述隊列分組的隊列長度未達到閾值,則所述隊列分組接受并存儲所述作為生產者的消息隊列客戶端發送的消息;或者,若當前的所述隊列分組的隊列長度未達到閾值,則由所述隊列分組對應的消費者的消息隊列客戶端處理拉取到的消息。
3.一種消息隊列系統,所述系統包括:消息隊列服務端和消息隊列客戶端,所述消息隊列服務端包括屬于同一消息主題的多個隊列分組(partition),所述消息隊列客戶端包括作為生產者的消息隊列客戶端和作為消費者的消息隊列客戶端;
所述消息隊列服務端的其中一個隊列分組,用于在接收到所述作為生產者的消息隊列客戶端發送的消息時,或者在接收到作為消費者的消息隊列客戶端拉取消息的請求時,判斷當前的隊列長度是否達到閾值,若達到閾值,則向所述消息隊列客戶端返回隊列滿指令,并且返回推薦切換的目標隊列分組;
所述作為生產者的消息隊列客戶端,用于根據所述隊列滿指令,將向所述隊列分組發送的消息轉發至所述目標隊列分組,以從源頭上減少消息的進入;
所述作為消費者的消息隊列客戶端,用于根據所述隊列滿指令,將由所述隊列分組拉取的消息轉發至所述目標隊列分組,以從出口加快消息的離開;
所述消息隊列服務端的所述隊列分組,具體用于向所述消息隊列服務端的隊列管理器請求推薦切換的目標隊列分組;所述隊列管理器,用于根據位于同一消息主題下的各個隊列分組的隊列負載狀態,選擇當前負載低于負載最大閾值的隊列分組作為所述目標隊列分組。
4.根據權利要求3所述的系統,所述隊列分組,還用于若當前的所述隊列分組的隊列長度未達到閾值,則接受并存儲所述作為生產者的消息隊列客戶端發送的消息,或者,將消息發送至對應的作為消費者的消息隊列客戶端處理。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710366692.5/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種逆作法模板施工工藝
- 下一篇:一種豎向自由抗剪支座