上周,我們舉辦了第二屆技術(shù)沙龍,我這邊主要演講了消息隊列技術(shù)的議題,現(xiàn)分享給大家:
在我們團隊內(nèi)部,隨著消息應(yīng)用中心(任務(wù)中心)的廣泛應(yīng)用,有時候我們感覺不到消息隊列的存在,但這不影響消息隊列在高可用、分布式、高并發(fā)架構(gòu)下的核心地位。
消息隊列都應(yīng)用到了哪些實際的應(yīng)用場景中?
一、再談消息隊列的應(yīng)用場景
異步處理:例如短信通知、終端狀態(tài)推送、App推送、用戶注冊等
數(shù)據(jù)同步:業(yè)務(wù)數(shù)據(jù)推送同步
重試補償:記賬失敗重試
系統(tǒng)解耦:通訊上下行、終端異常監(jiān)控、分布式事件中心
流量消峰:秒殺場景下的下單處理
發(fā)布訂閱:HSF的服務(wù)狀態(tài)變化通知、分布式事件中心
高并發(fā)緩沖:日志服務(wù)、監(jiān)控上報
但是,我們對消息隊列的底層技術(shù)和原理還是不了解,那么我們馬上開始吧…
二、消息隊列的一些基本概念和簡單原理
1. Broker
Broker的概念來自與Apache ActiveMQ,通俗的講就是MQ的服務(wù)器。
2. 消息的生產(chǎn)者、消費者
消息生產(chǎn)者Producer:發(fā)送消息到消息隊列。
消息消費者Consumer:從消息隊列接收消息。
3. 點對點消息