MQ的適用場景、選擇、術語和概念
阿新 • • 發佈:2021-09-28
目錄
- End -
﹀
﹀
﹀
白嫖有風險
點贊加收藏
以上為本篇文章的主要內容,希望大家多提意見,如果喜歡記得點個推薦哦
作者:Maggieq8324
出處:https://www.cnblogs.com/maggieq8324/
本文版權歸作者和部落格園共有,歡迎轉載,轉載時保留原作者和文章地址即可。
前言
MQ(Message Queue)
訊息佇列
MQ的適用場景
- 非同步處理
把一些耗時但不阻塞主流程的業務讓MQ去做業務處理,提升使用者體驗
- 流量削峰填谷
秒殺場景,利用MQ控制流量,一旦超出閾值就丟棄請求或彈出錯誤頁,防止應用被洪峰打死
- 解耦微服務
A服務呼叫B服務,B掛了,A的介面也無法正常返回,即使有Sentinel可以保護A不被B拖死,但介面依然無法正常返回,使用MQ後演變成A生產訊息到MQ,B去消費MQ,即使B掛了,MQ依然會把訊息儲存起來,對A不會產生任何影響,B服務恢復正常後再去消費MQ的訊息
MQ的選擇
- 目前常用的主流的訊息中介軟體:
ActiveMQ
、RabbitMQ
,Kafka
,RocketMQ
RocketMQ
有一篇官方對比文件:RocketMQ vs. ActiveMQ vs. Kafka
MQ的術語和概念
術語/概念 | 子項 | 解釋 | 描述 |
---|---|---|---|
Topic主題 | - | 訊息的集合 | 一類訊息的集合,RocketMQ的基本訂閱單位 |
訊息模型 | Producer | 生產者 | 生產訊息 |
Broker | 訊息代理 | 儲存訊息,轉發訊息 | |
Consumer | 消費者 | 消費訊息 | |
部署結構 | Name Server | 名字服務 | 生產者/消費者通過名字服務查找個主題相應的Broker IP列表 |
Borker Server | 代理伺服器 | 訊息中轉角色,負責儲存訊息、轉發訊息 | |
消費模式 | Pull Consumer | 拉取式消費 | 應用呼叫Consumer的拉取資訊方法從Broker Server拉取訊息 |
Push Consumer | 推動式消費 | Broker收到訊息後主動推送給消費者,實時性較高 | |
Group組 | Producer Group | 生產者組 | 同一類Producer的集合 |
Consumer Group | 消費者組 | 同一類Consumer的集合 | |
訊息傳播模式 | Clustering | 叢集 | 相同Consumer Group的每個Consumer例項平均分攤訊息 |
Broadcasting | 廣播 | 相同Consumer Group的每個Consumer例項都接收全量的訊息 | |
訊息型別 | 普通訊息、 順序訊息、 定時/延時訊息、 事務訊息 |
- | - |
MQ的搭建導航
RocketMQ
Windows下安裝RocketMQ
RabbitMQ
Windows下安裝RabbitMQ
Linux下安裝RabbitMQ