[發明專利]一種基于消息隊列系統的消息處理方法和裝置有效
申請號: | 201710366692.5 | 申請日: | 2017-05-23 |
公開(公告)號: | CN107197015B | 公開(公告)日: | 2020-09-08 |
發明(設計)人: | 鄭光杰 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L12/803 |
代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 陳蕾;靳玫 |
地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
權利要求書: | 查看更多 | 說明書: | 查看更多 |
摘要: | |||
搜索關鍵詞: | 一種 基于 消息 隊列 系統 處理 方法 裝置 | ||
本公開提供一種基于消息隊列系統的消息處理方法和裝置,其中方法包括:一個隊列分組接收作為生產者的消息隊列客戶端發送的消息;隊列分組判斷當前的隊列長度是否達到閾值,若達到閾值,則向生產者的消息隊列客戶端返回隊列滿指令和推薦切換的目標隊列分組;作為生產者的消息隊列客戶端根據隊列滿指令,將生產的消息轉發至目標隊列分組;隊列分組在接收到作為消費者的消息隊列客戶端拉取消息的請求時,同樣進行隊列長度是否達到閾值的判斷,若達到閾值,則向消費者的消息隊列客戶端返回隊列滿指令和目標隊列分組;作為消費者的消息隊列客戶端將由隊列分組拉取的消息轉發至目標隊列分組。本公開加快了消息整體的處理速度,降低消息處理的延遲時間。
技術領域
本公開涉及計算機技術領域,特別涉及一種基于消息隊列系統的消息處理方法和裝置。
背景技術
消息隊列技術是分布式應用間交換信息的一種技術,可以用于實現系統解耦、提高系統的響應時間等作用。在消息隊列系統中,一個Topic(消息主題)可以包括多個partition(隊列分組),每個partition是一個有序的隊列。一個消息的投遞過程可以包括:Producer(消息生產者)連接至預先分配的Partition,并在產生消息時主動投遞消息至該預先分配的Partition中,Consumer(消息消費者)從預先分配的Partition中主動拉取消息進行消費。
但是,在實際的生產過程中,由于機器之間的負載存在差異性,對消息的消化速度是不一致的。比如,Consumer A和Consumer B分別從Partition1和Partition2中獲取消息消費,即使兩個Partition的消息數量相同,但是由于Consumer B當前的機器負載高,Consumer B完全處理消息隊列所需要的時間比Consumer A長,這就導致Consumer B的消息處理延遲。而且Producer和Partition以及Consumer和Partition的對應關系是預先分配好的,在系統運行時是無法更改的,如果Producer生產的消息持續高速的分別向隊列Partition1和Partition2投遞,就會導致Consumer B對應的Partition2的消息積壓越來越多,消息從產生到真正消費所需要等待的時間會越來越長。
發明內容
有鑒于此,本公開提供一種基于消息隊列系統的消息處理方法和裝置,以加快消息整體的處理速度,降低消息延遲時間。
具體地,本公開是通過如下技術方案實現的:
第一方面,提供一種基于消息隊列系統的消息處理方法,所述消息隊列系統包括消息隊列服務端和消息隊列客戶端,所述消息隊列服務端包括屬于同一消息主題的多個隊列分組;所述方法包括:
一個隊列分組接收作為生產者的消息隊列客戶端發送的消息;
所述隊列分組判斷當前的隊列長度是否達到閾值,若達到閾值,則向所述作為生產者的消息隊列客戶端返回隊列滿指令,并且返回推薦切換的目標隊列分組;
所述作為生產者的消息隊列客戶端根據所述隊列滿指令,將生產的消息轉發至所述目標隊列分組;
所述隊列分組接收作為消費者的消息隊列客戶端拉取消息的請求,所述作為消費者的消息隊列客戶端用于訂閱所述消息主題并處理所述消息主題下的隊列分組中發布的消息;
所述隊列分組判斷當前的隊列長度是否達到閾值,若達到閾值,則向所述消費者的消息隊列客戶端返回隊列滿指令,并且返回推薦切換的目標隊列分組;
所述作為消費者的消息隊列客戶端根據所述隊列滿指令,將由所述隊列分組拉取的消息轉發至所述目標隊列分組,以由所述目標隊列分組對應的消費者的消息隊列客戶端進行處理。
第二方面,提供一種消息隊列系統,所述系統包括:消息隊列服務端和消息隊列客戶端,所述消息隊列服務端包括屬于同一消息主題的多個隊列分組,所述消息隊列客戶端包括作為生產者的消息隊列客戶端和作為消費者的消息隊列客戶端;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710366692.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種逆作法模板施工工藝
- 下一篇:一種豎向自由抗剪支座