更新時(shí)間:2021-01-05 16:04:09 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1226次
RabbitMQ是流行的開(kāi)源消息隊(duì)列系統(tǒng),用erlang語(yǔ)言開(kāi)發(fā),RabbitMQ是AMQP(高級(jí)消息隊(duì)列協(xié)議)的標(biāo)準(zhǔn)實(shí)現(xiàn)。采用該技術(shù),我們可以實(shí)現(xiàn)異步處理、流量削峰、系統(tǒng)解耦。
什么是消息隊(duì)列(MQ)
消息是在不同應(yīng)用間傳遞的數(shù)據(jù)。這里的消息可以非常簡(jiǎn)單,比如只包含字符串,也可以非常復(fù)雜,包含多個(gè)嵌套的對(duì)象。消息隊(duì)列(Message Queue)簡(jiǎn)單來(lái)說(shuō)就是一種應(yīng)用程序間的通訊方式,消息發(fā)送后立即返回,然后由消息系統(tǒng)保證消息的可靠性傳輸,消息生產(chǎn)者只需要把消息發(fā)到MQ中就可以了,不需要關(guān)心消息的消費(fèi),同樣,消息消費(fèi)者只管從MQ中拉取消息而不管是誰(shuí)生產(chǎn)的消息,通過(guò)這樣的一個(gè)“互相不知道對(duì)象存在”模式,將消息的生產(chǎn)者和消息的消費(fèi)者解耦了。
什么場(chǎng)景下考慮使用消息隊(duì)列
從上面可以知道,消息隊(duì)列是一種應(yīng)用間的異步協(xié)作機(jī)制,那么我們什么時(shí)候需要用到MQ呢?以常見(jiàn)的訂單系統(tǒng)為例,當(dāng)用戶(hù)點(diǎn)擊「下單」后的業(yè)務(wù)邏輯可能包括:扣減庫(kù)存、生成相應(yīng)訂單數(shù)據(jù)、發(fā)短信通知等。在項(xiàng)目和業(yè)務(wù)發(fā)展初期上面這些邏輯可能放在一起執(zhí)行,隨著業(yè)務(wù)的發(fā)展訂單量的增加,需要提升系統(tǒng)服務(wù)的性能,此時(shí)就可以將一些不需要立即生效的操作拆分出來(lái)異步執(zhí)行,比如發(fā)送短信通知等。這種場(chǎng)景下就可以使用MQ,在下單主流程(比如扣減庫(kù)存、生成訂單數(shù)據(jù)等)完成之后發(fā)送一條消息到MQ讓主流程快速走完,然后由另外一個(gè)線程拉取MQ的消息,執(zhí)行相應(yīng)的業(yè)務(wù)邏輯。這里的例子主要是用消息隊(duì)列來(lái)解耦。
RabbitMQ的特點(diǎn)
RabbitMQ是一個(gè)由Erlang語(yǔ)言開(kāi)發(fā)的AMQP的開(kāi)源實(shí)現(xiàn)。AMQP(Advanced Message Queue:高級(jí)消息隊(duì)列協(xié)議)它是應(yīng)用層協(xié)議的一個(gè)開(kāi)放標(biāo)準(zhǔn),為面向消息的中間件設(shè)計(jì),基于此協(xié)議的客戶(hù)端與消息中間件可傳遞消息,并不受產(chǎn)品、開(kāi)發(fā)語(yǔ)言等條件的限制。RabbitMQ最初起源于消息系統(tǒng),用于在分布式系統(tǒng)中存儲(chǔ)轉(zhuǎn)發(fā)消息,具體有如下一些特點(diǎn):
可靠性:RabbitMQ使用一些機(jī)制來(lái)保證可靠性,比如持久化、傳輸確認(rèn)機(jī)制(ack)和發(fā)布確認(rèn)等。
靈活的路由策略:在消息進(jìn)入隊(duì)列之前,通過(guò)Exchange來(lái)路由消息,對(duì)于典型的路由功能,RabbitMQ已經(jīng)提供了一些內(nèi)置的Exchange來(lái)實(shí)現(xiàn)。針對(duì)復(fù)雜的路由功能,可以將多個(gè)Exchange綁在一起,也通過(guò)插件機(jī)制實(shí)現(xiàn)自己的Exchange。
消息集群:多個(gè)RabbitMQ服務(wù)器可以組成一個(gè)集群,形成一個(gè)邏輯Broker。
高可用:隊(duì)列可以在集群中的集群上進(jìn)行鏡像,使得在部分節(jié)點(diǎn)出問(wèn)題的情況下隊(duì)列仍然可用。
多種協(xié)議:RabbitMQ支持多種消息隊(duì)列協(xié)議,比如STOMP、MQTT等。
多語(yǔ)言客戶(hù)端:RabbitMQ幾乎支持多有常用的語(yǔ)言,比如:Java、.NET等
管理界面:RabbitMQ提供了一個(gè)易用的用戶(hù)界面,使得用戶(hù)可以監(jiān)控和管理消息Broker的許多方面。
零基礎(chǔ)學(xué)習(xí)RabbitMQ入門(mén)教程,動(dòng)力節(jié)點(diǎn)的教學(xué)課程將講授RabbitMQ的環(huán)境搭建、消息的發(fā)送與接收、消息確認(rèn)、與SpringBoot集成等,讓大家快速掌握RabbitMQ技術(shù),以適應(yīng)項(xiàng)目開(kāi)發(fā)的需要;
課程學(xué)習(xí)目錄
1.RabbitMQ:什么是消息隊(duì)列
2.RabbitMQ:為什么使用消息隊(duì)列
3.RabbitMQ:RabbitMQ的特點(diǎn)
4.RabbitMQ:安裝RabbitMQ
5.RabbitMQ:啟動(dòng)和關(guān)閉服務(wù)
6.RabbitMQ:插件添加
7.RabbitMQ:用戶(hù)管理
8.RabbitMQ:權(quán)限分配
9.RabbitMQ:vhost
10.RabbitMQ:AMQP協(xié)議機(jī)制
11.RabbitMQ:消息路由交換機(jī)類(lèi)型
12.RabbitMQ:Direct類(lèi)型交換機(jī)
13.RabbitMQ:Fanout類(lèi)型交換機(jī)
14.RabbitMQ:Topic類(lèi)型交換機(jī)
15.RabbitMQ:消息發(fā)送
16.RabbitMQ:消息發(fā)送測(cè)試
17.RabbitMQ:消息接收
18.RabbitMQ:消息接收測(cè)試
19.RabbitMQ:交換機(jī)-direct-消息接收
20.RabbitMQ:交換機(jī)-direct-消息發(fā)送
21.RabbitMQ:交換機(jī)-fanout-消息接收
22.RabbitMQ:交換機(jī)-fanout-消息發(fā)送
23.RabbitMQ:交換機(jī)-topic-消息接收和發(fā)送
完整目錄可以關(guān)注動(dòng)力節(jié)點(diǎn)Java視頻教程
以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Rabbitmq視頻下載,零基礎(chǔ)入門(mén)學(xué)習(xí)”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743