[發明專利]一種消息推送方法、系統、計算設備與可讀存儲介質在審
| 申請號: | 202210046851.4 | 申請日: | 2022-01-14 |
| 公開(公告)號: | CN114461419A | 公開(公告)日: | 2022-05-10 |
| 發明(設計)人: | 宗高峰 | 申請(專利權)人: | 車智互聯(北京)科技有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F9/448;G06F8/30;G06F8/36;G06F8/73 |
| 代理公司: | 北京思睿峰知識產權代理有限公司 11396 | 代理人: | 謝建云;趙愛軍 |
| 地址: | 100080 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 消息 推送 方法 系統 計算 設備 可讀 存儲 介質 | ||
本發明公開了一種消息推送方法、系統、計算設備與可讀存儲介質。上述消息推送方法包括步驟:響應于用戶的消息推送請求,對應用開發框架掃描到的帶有注解的消息推送組件進行解析,得到所述消息推送組件的注解信息,所述注解信息包括配置信息;根據所述注解信息為所述消息推送組件生成動態代理對象,并將所述動態代理對象注入到所述框架對應容器中;以及執行所述消息推送組件對應的真實推送邏輯,完成消息推送。上述消息推送系統,包括:系統服務器;以及與所述系統服務器通信連接的若干個MQ服務器。本發明一并公開了相應的計算設備與可讀存儲介質。
技術領域
本發明涉及微服務架構的消息推送技術領域,尤其是一種用于微服務架構的消息推送方法、裝置、計算設備與可讀存儲介質。
背景技術
隨著業務發展,單體應用的架構已經不能支撐龐大的后端業務,因此服務端微服務化是必然趨勢。而對于微服務的拆分,動輒拆分出幾十個或上百個微服務,服務之間的通信方式不局限于同步通信,還包含了異步消息通信。異步消息通信可在一定程度上提升應用的吞吐量、降低應用的耦合度,但也增加了開發和維護的復雜度。基于消息的異步通信開發,除了本身的業務邏輯之外,還需要考慮消息傳遞的順序性、消息的重復消費、消息的丟失、以及消息的重試等。
以旅行商城系統為例,可以根據不同的業務場景將旅行商城系統拆分為不同的服務,如機票服務、酒店服務、火車票服務、訂單服務、優惠系統、以及支付系統等,而不同服務直接的狀態同步、消息通知等均需借助于異步消息通信來實現。異步消息通信可以降低服務之間的耦合度,提升應用的吞吐量,保證數據的最終一致性。借助于異步消息通信機制,可以保證訂單狀態的最終一致性,并提升活動搶券的并發量。
業界通常借助于MQ服務器來實現異步消息通信,主流的MQ服務有RabbitMQ、RocketMQ、以及Kafka等。而不同的消息服務器的特性不同,Java操作方式也不盡相同,主流客戶端框架有spring-amqp、spring-kafka等。對于消息重試,業界主要靠自定義while循環或借助于spring-retry實現。
對于服務間的異步消息推送,業界主要借助于MQ服務器來實現,而連接MQ服務器的客戶端框架主要有spring-amqp和spring-kafka等。Spring封裝了AMQP協議,對外提供了一組高度封裝的API,允許任何POJO作為消息體進行消息傳播。Spring框架做到了開發人員對于AMQP協議的無感知,在一定程度上簡化了異步消息推送的操作,但是,由于不同的消息服務器特性不同,用法也不同,如RabbitMQ主要涉及交換機、路由鍵、以及隊列等概念,而Kafka主要涉及消費組、分區、以及隊列等概念,開發人員需要充分掌握這些特性,還需要掌握各種MQ的應用特點、客戶端集成框架原理、以及消息重試機制等;因此,將Spring框架應用在復雜的微服架構中實現消息推送,并未做到使開發人員對于MQ服務器無感知,對開發人員的技術要求仍然很高。
發明內容
為此,本發明提供了一種消息推送方法、裝置、計算設備與可讀存儲介質,以力圖解決或者至少緩解上面存在的至少一個問題。
根據本發明的一個方面,提供了一種消息推送方法,適用于應用開發框架,所述方法包括步驟:響應于用戶的消息推送請求,對所述框架掃描到的帶有注解的消息推送組件進行解析,得到所述消息推送組件的注解信息,所述注解信息包括配置信息;根據所述注解信息為所述消息推送組件生成動態代理對象,并將所述動態代理對象注入到所述框架對應的容器中;以及執行所述消息推送組件對應的真實推送邏輯,完成消息推送。
可選地,在根據本發明的消息推送方法中,所述配置信息包括交換機和路由鍵。
可選地,在根據本發明的消息推送方法中,所述的對所述框架掃描到的帶有注解的消息推送組件進行解析的步驟包括:利用所述框架進行組件掃描;當掃描到預定的掃描觸發組件時,開始進行推送組件掃描,得到帶有注解的消息推送組件;以及對所述帶有注解的消息推送組件進行解析,得到所述注解中的配置信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于車智互聯(北京)科技有限公司,未經車智互聯(北京)科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210046851.4/2.html,轉載請聲明來源鉆瓜專利網。





