小編給大家分享一下MQ消息隊(duì)列中間件RabbitMQ怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
10多年品牌的成都網(wǎng)站建設(shè)公司,上1000+企業(yè)網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn).價(jià)格合理,可準(zhǔn)確把握網(wǎng)頁設(shè)計(jì)訴求.提供定制網(wǎng)站建設(shè)、商城網(wǎng)站建設(shè)、小程序設(shè)計(jì)、響應(yīng)式網(wǎng)站等服務(wù),我們?cè)O(shè)計(jì)的作品屢獲殊榮,是您值得信賴的專業(yè)網(wǎng)站建設(shè)公司。MQ消息隊(duì)列中間件—RabbitMQ
消息中間件主要用于組件之間的解耦,消息的發(fā)送者無需知道消息使用者的存在,反之亦然。
1、Message Quene是應(yīng)用程序?qū)?yīng)用程序的通信方法。異步RPC的主要手段之一。不需要直接調(diào)用彼此來通信。
2、RabbitMQ(開源消息代理)是實(shí)現(xiàn)AMQP(應(yīng)用層開放標(biāo)準(zhǔn)advanced message queuing protocal提供統(tǒng)一消息服務(wù))協(xié)議的MQ產(chǎn)品。
3、消息的生產(chǎn)者Producer--->消息隊(duì)列----->消息的消費(fèi)者
4、 安裝RabbitMQ:windows計(jì)算機(jī)名用英文,關(guān)閉安全軟件:
1)Erlang環(huán)境(編程語言):opt_win64_17.3.exe
http://www.erlang.org/download/otp_win64_17.3.exe
2)按照RabbitMQ服務(wù):rabbitmq-server-3.4.1.exe
5、安裝完測試:打開rabbitMQ command prompt
輸入rabbitmq-plugins enable rabbitmq_management啟動(dòng)后臺(tái)服務(wù)軟件,瀏覽器輸入127.0.0.1:15672 ,用戶名/密碼:guest/guest
6、overview:顯示消息隊(duì)列,節(jié)點(diǎn),路徑,端口(AMQP端口5672,集群端口25672,web管理端口15672)
connections:
channels:數(shù)據(jù)通道(持久化的隊(duì)列在管理頁面可以看到有個(gè)“D”,durable為true)
exchanges:交換機(jī),類型,可以添加交換機(jī)。
點(diǎn)擊Exchange的Name可進(jìn)入到Exchange的詳情頁面,在里面將Exchange與Queue進(jìn)行Binding。
測試: 點(diǎn)進(jìn)交換器之后有一欄是Publish message,發(fā)送成功后切換到Queues查看是否收到消息,點(diǎn)擊ls隊(duì)列進(jìn)去查看,展開Get message選項(xiàng),點(diǎn)擊GetMessage(s)就能得到消息了。
測試: https://blog.csdn.net/qq_41097820/article/details/88793329
quenes:隊(duì)列
Message
Ready: 隊(duì)列中等待消費(fèi)的消息
Unacked:隊(duì)列中等待被確認(rèn)的消息(此時(shí)消息已到達(dá)消費(fèi)者,但是未被確認(rèn))
Total:隊(duì)列中消息總數(shù)
admin:添加用戶等,Tags指角色;添加virtual host(關(guān)聯(lián)到用戶access,起隔離作用,每個(gè)vhost本質(zhì)上就是一個(gè)mini版的rabbitmq服務(wù)器,擁有自己的隊(duì)列、交換機(jī)、綁定和權(quán)限機(jī)制)。
7、MQ中的最小對(duì)象:消息=消息描述符+用戶數(shù)據(jù),隊(duì)列定義的長度制約消息的長度。隊(duì)列:先進(jìn)先出FIFO,對(duì)遠(yuǎn)程隊(duì)列的訪問需要使用”通道“。包含關(guān)系:消息<隊(duì)列<隊(duì)列管理器,三者組合唯一確定一個(gè)消息。
8、通道:應(yīng)用在隊(duì)列管理器與隊(duì)列管理器之間的,單向的點(diǎn)對(duì)點(diǎn)的通信連接:
單一方向;
通常成對(duì)使用;
如果要在 隊(duì)列管理器與隊(duì)列管理器之間實(shí)現(xiàn)消息傳輸,必須在兩個(gè)隊(duì)列管理器上都要定義相應(yīng)的通道。
9、RabbitMQ中生產(chǎn)者將消息發(fā)送到Exchange(交換器),由Exchange將消息路由到一個(gè)或多個(gè)Queue中(或者丟棄)。RabbitMQ中通過Binding將Exchange與Queue關(guān)聯(lián)起來,這樣RabbitMQ就知道如何正確地將消息路由到指定的Queue了。
10、對(duì)于rabbitmq來說,一個(gè)broker可以看成一個(gè)rabbitmq服務(wù)節(jié)點(diǎn),,或者服務(wù)實(shí)例。也可以將一個(gè)broker看做一臺(tái)rabbitmq服務(wù)器
11、rabbitmq有一個(gè)大內(nèi)存閾值,可以通過配置來實(shí)現(xiàn)。當(dāng)接收的消息達(dá)到大閾值時(shí),rabbitmq不會(huì)再接收消息,并進(jìn)入阻塞狀態(tài)。rabbitmq有一個(gè)內(nèi)存換頁閾值,當(dāng)達(dá)到換頁閾值時(shí),將當(dāng)前內(nèi)存內(nèi)的消息放入到磁盤內(nèi),而此時(shí)會(huì)區(qū)分持久化消息和非持久化消息。持久化消息因?yàn)樵诮邮盏较⒑缶鸵呀?jīng)存入磁盤,所以在換頁時(shí)不會(huì)重復(fù)存入磁盤。此時(shí)只會(huì)將非持久化消息存入到磁盤內(nèi)。
12、當(dāng)內(nèi)存使用超過配置的閾值或者磁盤剩余空間低于配置的閾值時(shí),rabbitmq會(huì)出現(xiàn)告警。此時(shí)會(huì)暫時(shí)阻塞客戶端連接(顯示blocked),并停止接收客戶端發(fā)來的消息,以避免服務(wù)器崩潰,客戶端與服務(wù)端的心跳檢測也會(huì)失效。
13、發(fā)送可靠性:確保消息成功發(fā)送到broker
At most once:最多一次,消息可能會(huì)丟失,但不會(huì)重復(fù)傳輸
At least once:最少一次,消息不會(huì)丟失,但可能重復(fù)傳輸
Exactly once:恰好一次,保證每條消息都被傳輸?shù)絙roker且僅傳輸一次
RabbitMQ支持:At most once和At least once
14、abbitMQ的六種工作模式:
1、Work queues
2、Publish/subscribe
3、Routing
4、Topics
5、Header 模式
6、RPC
15、Exchange Types有 fanout、direct、topic、headers這四種類型:
fanout類型:廣播模式,Exchange路由規(guī)則非常簡單,它會(huì)把所有發(fā)送到該Exchange的消息路由到所有與它綁定的Queue中。
direct類型: Exchange路由規(guī)則也很簡單,它會(huì)把消息路由到那些binding key與routing key完全匹配的Queue中,binding key == routing key。
topic message類型:binding key like routing key, 其中routing key中可以帶 * 和 # 來做模糊匹配, “*”用于匹配一個(gè)單詞,“#”用于0~N個(gè)單詞.
headers類型: Exchange不依賴于routing key與binding key的匹配規(guī)則來路由消息,而是根據(jù)發(fā)送的消息內(nèi)容中的headers屬性進(jìn)行匹配。
以上是“MQ消息隊(duì)列中間件RabbitMQ怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!
分享題目:MQ消息隊(duì)列中間件RabbitMQ怎么用-創(chuàng)新互聯(lián)
文章鏈接:http://www.rwnh.cn/article44/ehoee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、小程序開發(fā)、搜索引擎優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容