百度百科解釋
MQ(Message Queue)消息隊(duì)列圆裕,是基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)中“先進(jìn)先出”的一種數(shù)據(jù)結(jié)構(gòu)陋桂。一般用來(lái)解決應(yīng)用解耦逆趣,異步消息,流量削鋒等問(wèn)題嗜历,實(shí)現(xiàn)高性能宣渗,高可用,可伸縮和最終一致性架構(gòu)梨州。
常見(jiàn)的MQ產(chǎn)品
IBM WebSphere MQ 痕囱、RabbitMQ 、RocketMQ 暴匠、 kafka 鞍恢、ZeroMQ 、Redis 等
MQ的作用
- 異步通信
- 解耦
- 過(guò)載保護(hù)
- 保證通信順序
- 緩沖
MQ主要組成
- Broker:消息服務(wù)器每窖,作為server提供消息核心服務(wù)
- Producer:消息生產(chǎn)者帮掉,業(yè)務(wù)的發(fā)起方,負(fù)責(zé)生產(chǎn)消息傳輸給broker窒典,
- Consumer:消息消費(fèi)者蟆炊,業(yè)務(wù)的處理方,負(fù)責(zé)從broker獲取消息并進(jìn)行業(yè)務(wù)邏輯處理
- Topic:主題瀑志,發(fā)布訂閱模式下的消息統(tǒng)一匯集地涩搓,不同生產(chǎn)者向topic發(fā)送消息污秆,由MQ服務(wù)器分發(fā)到不同的訂閱 者,實(shí)現(xiàn)消息的廣播
- Queue:隊(duì)列昧甘,PTP模式下良拼,特定生產(chǎn)者向特定queue發(fā)送消息,消費(fèi)者訂閱特定的queue完成指定消息的接收
- Message:消息體疾层,根據(jù)不同通信協(xié)議定義的固定格式進(jìn)行編碼的數(shù)據(jù)包将饺,來(lái)封裝業(yè)務(wù)數(shù)據(jù)贡避,實(shí)現(xiàn)消息的傳輸