更新時間:2021-08-09 16:38:45 來源:動力節點 瀏覽1177次
消息隊列RocketMQ版是阿里云基于Apache RocketMQ構建的低延遲、高并發、高可用、高可靠的分布式消息中間件。消息隊列RocketMQ版既可為分布式應用系統提供異步解耦和削峰填谷的能力,同時也具備互聯網應用所需的海量消息堆積、高吞吐、可靠重試等特性。
Topic:消息主題,一級消息類型,生產者向其發送消息。
生產者:也稱為消息發布者,負責生產并發送消息至Topic。
消費者:也稱為消息訂閱者,負責從Topic接收并消費消息。
消息:生產者向Topic發送并最終傳送給消費者的數據和(可選)屬性的組合。
消息屬性:生產者可以為消息定義的屬性,包含Message Key和Tag。
Group:一類生產者或消費者,這類生產者或消費者通常生產或消費同一類消息,且消息發布或訂閱的邏輯一致。
消息隊列RocketMQ版涉及的概念的詳細解釋,請參見名詞解釋。
消息隊列RocketMQ版支持發布和訂閱模型,消息生產者應用創建Topic并將消息發送到Topic。消費者應用創建對Topic的訂閱以便從其接收消息。通信可以是一對多(扇出)、多對一(扇入)和多對多。
具體通信如下圖所示。
圖1.消息收發模型
生產者集群:用來表示發送消息應用,一個生產者集群下包含多個生產者實例,可以是多臺機器,也可以是一臺機器的多個進程,或者一個進程的多個生產者對象。
一個生產者集群可以發送多個Topic消息。發送分布式事務消息時,如果生產者中途意外宕機,消息隊列RocketMQ版服務端會主動回調生產者集群的任意一臺機器來確認事務狀態。
消費者集群:用來表示消費消息應用,一個消費者集群下包含多個消費者實例,可以是多臺機器,也可以是多個進程,或者是一個進程的多個消費者對象。
一個消費者集群下的多個消費者以均攤方式消費消息。如果設置的是廣播方式,那么這個消費者集群下的每個實例都消費全量數據。
一個消費者集群對應一個Group ID,一個Group ID可以訂閱多個Topic,如圖1中的Group 2所示。Group和Topic的訂閱關系可以通過直接在程序中設置即可,具體設置方法可參見產品更新日志中的資源申請流程優化部分。
以上就是動力節點小編介紹的"什么是消息隊列",希望對大家有幫助,想了解更多可查看Java教程。動力節點在線學習教程,針對沒有任何Java基礎的讀者學習,讓你從入門到精通,主要介紹了一些Java基礎的核心知識,讓同學們更好更方便的學習和了解Java編程,感興趣的同學可以關注一下。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習