云計(jì)算與大數(shù)據(jù)技術(shù) 課件8.5消息隊(duì)列_第1頁
云計(jì)算與大數(shù)據(jù)技術(shù) 課件8.5消息隊(duì)列_第2頁
云計(jì)算與大數(shù)據(jù)技術(shù) 課件8.5消息隊(duì)列_第3頁
云計(jì)算與大數(shù)據(jù)技術(shù) 課件8.5消息隊(duì)列_第4頁
云計(jì)算與大數(shù)據(jù)技術(shù) 課件8.5消息隊(duì)列_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

消息隊(duì)列消息隊(duì)列簡介消息隊(duì)列(MessageQueue,MQ)從廣義上來說是一種消息隊(duì)列服務(wù)中間件,提供一套完整的信息生產(chǎn)、傳遞和消費(fèi)的軟件系統(tǒng)。常見的MQ中間件有:RabbitMQ、RocketMQ、Kafka、ActiveMQ等。消息隊(duì)列簡介MQ是一種應(yīng)用程序間的通信機(jī)制,與傳統(tǒng)的遠(yuǎn)程調(diào)用(RPC)不同,它采用異步通信模式。MQ中間件是一個(gè)獨(dú)立的應(yīng)用程序,專門用于接收、存儲(chǔ)、分發(fā)消息。消息隊(duì)列簡介兩種主要的消息傳遞模式為點(diǎn)對(duì)點(diǎn)傳遞模式、發(fā)布-訂閱傳遞模式。消息隊(duì)列簡介1.點(diǎn)對(duì)點(diǎn)傳遞模式點(diǎn)對(duì)點(diǎn)傳遞模式將消息持久化到一個(gè)隊(duì)列中,此時(shí)將有一個(gè)或多個(gè)消費(fèi)者消費(fèi)隊(duì)列中的數(shù)據(jù),但是一條消息只能被消費(fèi)一次。消息隊(duì)列簡介2.發(fā)布-訂閱傳遞模式發(fā)布-訂閱傳遞模式將消息持久化到一個(gè)Topic中。消費(fèi)者可以訂閱一個(gè)或多個(gè)Topic,并消費(fèi)該Topic中所有的數(shù)據(jù)。同一條數(shù)據(jù)可以被多個(gè)消費(fèi)者消費(fèi)。消息隊(duì)列作用1.程序間解耦在應(yīng)用之間引入MQ,可以使應(yīng)用之間的交互更改為通過MQ消息來觸發(fā),降低了應(yīng)用之間的耦合度。只需上游系統(tǒng)發(fā)布消息和下游系統(tǒng)訂閱消息即可。消息隊(duì)列作用2.異步處理異步應(yīng)用場景,如用戶在Web應(yīng)用或App上注冊(cè)成功后,服務(wù)端需要給用戶發(fā)送注冊(cè)郵件和注冊(cè)短信電商平臺(tái)上完成訂單支付后,后臺(tái)服務(wù)需要扣減庫存量、贈(zèng)送優(yōu)惠券、增加用戶積分、修改訂單狀態(tài)、物流系統(tǒng)等。消息隊(duì)列作用消息隊(duì)列提供了一個(gè)異步通信機(jī)制,消息的發(fā)送者不必一直等到消息被成功處理后才返回,而是可以立即返回。消息隊(duì)列作用3.削峰填谷在互聯(lián)網(wǎng)電商的秒殺活動(dòng)、團(tuán)購搶單、店慶等超高并發(fā)場景中,后端服務(wù)可能來不及同步處理過多、過快的請(qǐng)求,就會(huì)導(dǎo)致請(qǐng)求堵塞,嚴(yán)重時(shí)可能因?yàn)楦哓?fù)荷運(yùn)轉(zhuǎn)而拖垮Web服務(wù)器。這樣的突發(fā)流量并不常見,若為了處理這類峰值訪問而投入資源來隨時(shí)待命,則會(huì)造成巨大的浪費(fèi)。此時(shí),可以先將用戶的秒殺請(qǐng)求作為消息存入消息隊(duì)列中間件,然后由后端服務(wù)根據(jù)自身能力慢慢處理消息隊(duì)列中的請(qǐng)求信息。消息隊(duì)列作用消息隊(duì)列作用4.消息通信消息隊(duì)列系統(tǒng)通常內(nèi)置了高效、可靠的通信機(jī)制,因此,除了主要的數(shù)據(jù)傳輸和任務(wù)處理功能,也可以用于實(shí)現(xiàn)純消息通信。這種通信方式可以用于多種場景,如點(diǎn)對(duì)點(diǎn)通信或聊天室通信等。常見的消息隊(duì)列1.RabbitMQRabbitMQ是一個(gè)由Erlang語言開發(fā)的AMQP(AdvancedMessageQueuingProtocol,高級(jí)消息隊(duì)列協(xié)議)的開源實(shí)現(xiàn),其本質(zhì)是一套消息隊(duì)列服務(wù)軟件,本身支持很多協(xié)議,屬于重量級(jí)消息隊(duì)列,更適合企業(yè)級(jí)的開發(fā)。常見的消息隊(duì)列RabbitMQ架構(gòu)常見的消息隊(duì)列2.RocketMQRocketMQ是阿里中間件團(tuán)隊(duì)開源的一款消息隊(duì)列,它采用純Java開發(fā),具有高吞吐量、高可用性等特點(diǎn),適用于大規(guī)模分布式系統(tǒng),支持事務(wù)消息、順序消息、批量消息、定時(shí)消息、消息回溯等。目前在阿里巴巴被廣泛應(yīng)用于交易、充值、流

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論