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