[發明專利]消息處理系統有效
| 申請號: | 201910599030.1 | 申請日: | 2019-07-04 |
| 公開(公告)號: | CN110351355B | 公開(公告)日: | 2022-02-25 |
| 發明(設計)人: | 賀州;楊威 | 申請(專利權)人: | 蘇寧云計算有限公司 |
| 主分類號: | H04L67/562 | 分類號: | H04L67/562;H04L67/566;H04L67/568;H04L41/082;H04L41/0853;H04L41/0896 |
| 代理公司: | 北京市萬慧達律師事務所 11111 | 代理人: | 黃玉東 |
| 地址: | 210000 江蘇省南*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 消息 處理 系統 | ||
本申請涉及一種消息處理系統,包括:生產模塊,用于將待處理消息發送到當前版本的代理模塊;當代理模塊拒絕接收所述待處理消息時,更新當前版本,并向更新后的當前版本的代理模塊發送所述待處理消息;代理模塊,用于緩存所述生產模塊發送的待處理消息;消費模塊,用于依次從低版本到高版本的各個代理模塊中取出緩存的待處理消息進行處理。本申請的方案引入了版本的概念,從而在不增設中心計算節點的情況下,保證在線動態擴縮容的情況下仍能保證消息的順序性;避免引入第三方中心節點對消息的路由和存儲,減少復雜性和風險。
技術領域
本申請涉及互聯網信息技術領域,具體涉及一種消息處理系統。
背景技術
隊列(QUEUE)是先進先出(FIFO)的,因此針對單點隊列(單實例/單Broker部署)的消息隊列來講,順序消息是天生就保障的。
但是在分布式的消息隊列系統(多實例/多Broker部署)里,實例數動態變化的情況下(即在線動態擴縮容/遷移)下,仍要對用戶無感知地保證和動作之前一樣的順序性就比較困難。現在大部分的服務都是部署在云端,而資源的動態調配是云環境最基本的功能:資源不足就擴容;資源空閑,為防止浪費就縮容。這些動作都必須對用戶都是透明的,不能影響用戶業務。因此,保證在線動態擴縮容時消息的順序性是分布式消息系統的必須要有的功能。
相關技術中,目前業內最常見的做法是新加一個第三方集中計算和路由節點,將分布式問題變為集中式的單點問題來解決。但這樣做增加了部署的復雜性,并引入了單點的風險。
發明內容
為至少在一定程度上克服相關技術中存在的問題,本申請提供一種消息處理系統。
根據本申請的實施例,提供一種消息處理系統,包括:
生產模塊,用于將待處理消息發送到當前版本的消息隊列所在的代理模塊;當代理模塊拒絕接收所述待處理消息時,更新當前版本,并向更新后的當前版本的消息隊列所在的代理模塊發送所述待處理消息;
代理模塊,用于緩存所述生產模塊發送的待處理消息;
消費模塊,用于依次從低版本到高版本的各個代理模塊中取出緩存的待處理消息進行處理。
進一步地,所述代理模塊的數量為多個,分別屬于一個或多個版本;
屬于某一個版本的一個或多個所述代理模塊形成該版本的代理集群。
進一步地,所述系統還包括:
配置模塊,用于對各個版本的所述代理集群進行配置,以及存儲配置信息并下發版本變更通知。
進一步地,所述將待處理消息發送到當前版本的代理模塊時,所述生產模塊具體用于:
根據存儲的版本信息確定當前版本的代理集群;
根據待處理消息的順序值確定當前版本的代理集群中的一個代理模塊;
將待處理消息發送到確定出的代理模塊。
進一步地,所述更新當前版本時,所述生產模塊具體用于:
從所述配置模塊獲取最新的配置信息;
根據獲取的配置信息更新存儲的版本信息。
進一步地,所述生產模塊還用于:
在接收到所述配置模塊下發的版本變更通知時,根據所述版本變更通知更新存儲的版本信息。
進一步地,一個所述代理模塊中至少包括一個消息隊列;所述消息隊列具有讀過期屬性和寫過期屬性,且讀過期屬性和寫過期屬性的初始值均為false;
所述代理模塊還用于:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇寧云計算有限公司,未經蘇寧云計算有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910599030.1/2.html,轉載請聲明來源鉆瓜專利網。





