RabbitMQ消息模型

      網(wǎng)友投稿 862 2022-05-30

      RabbitMQ消息模型

      Rabbit MQ作為按照AMQP協(xié)議實現(xiàn)的老牌消息中間件,已經(jīng)有將近十年的歷史了。誕生于金融行業(yè),現(xiàn)在作為企業(yè)級消息隊列廣泛用在各個領(lǐng)域。最近因為工作關(guān)系接觸到了Rabbitmq,對其工作方式做了大致了解。

      生產(chǎn)者將消息發(fā)送到mq之后,會首先經(jīng)過exchange,由exchange決定如何將消息路由到對應的隊列。路由方式有以下4種。

      fanout 也即廣播模式,exchange收到消息后將會把消息投遞到每個和它綁定的隊列

      direct 消息按照指定的routing key(queue和exchange綁定時可指定)直接投遞到到隊列

      topic 復雜的發(fā)布/訂閱模式。routing key由.號分隔的字符串指定,如quick.orange.rabbit,每個分隔的字符串最好能對應一定的業(yè)務含義。支持模糊匹配,如*.orange.rabbit或如quick.orange.#。*精確匹配一個字符串,#匹配0個或多個字符串。

      headers 按照消息頭投遞到隊列,不考慮routing key

      消息者收到消息之后,會按照默認開啟的手動確認模式向MQ投遞ack消息,代表消費者已經(jīng)成功處理了這條消息,MQ可以將這條消息從隊列中刪除。沒有收到確認的消息仍會存在于隊列中,等待下次繼續(xù)投遞。

      當一個隊列有多個消費者訂閱時,MQ默認逐個分發(fā)給每個消費者,而不管其處理的任務復雜度,若要做到消息的公平派發(fā),需要消費者指定prefetch_count=1,告訴MQ在處理完當前消息之前不要派發(fā)下條消息過來。

      更多的細節(jié)可以參考Rabbitmq的官方文檔

      本文轉(zhuǎn)載自異步社區(qū)

      架構(gòu)設計

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:【鯤鵬云移植干貨分享10】NodeJS 8.12.0安裝指導
      下一篇:開源項目的盈利模式是怎么樣的?
      相關(guān)文章
      久久精品亚洲AV久久久无码 | 中文字幕亚洲激情| 亚洲精品第一国产综合亚AV| 亚洲无成人网77777| 亚洲精品高清国产麻豆专区| 亚洲高清无在码在线无弹窗| 噜噜噜亚洲色成人网站∨ | 亚洲av日韩aⅴ无码色老头| 亚洲AV无码成人精品区日韩| 久久久亚洲精华液精华液精华液| 亚洲欧美国产国产一区二区三区 | 亚洲精品无码久久久久牙蜜区| 亚洲久热无码av中文字幕| 亚洲国产成人AV在线播放| 亚洲av成人片在线观看| 日韩精品电影一区亚洲| 亚洲欧洲自拍拍偷精品 美利坚| 久久精品国产亚洲精品| 亚洲男人的天堂www| 亚洲AV无码国产丝袜在线观看| 亚洲av色福利天堂| 亚洲最大视频网站| 国产精品亚洲四区在线观看| 亚洲人成图片网站| 亚洲av无码一区二区三区四区| 最新亚洲人成无码网www电影| www.亚洲一区| 亚洲一区二区三区在线观看精品中文 | 亚洲天堂2016| 亚洲AV日韩AV一区二区三曲| 亚洲精品高清在线| 亚洲色婷婷一区二区三区| 亚洲AV无码不卡无码| 亚洲精彩视频在线观看| 亚洲精品综合在线影院| 精品韩国亚洲av无码不卡区| 亚洲日韩国产成网在线观看| 亚洲国产精品成人精品无码区在线| 久久精品国产亚洲AV嫖农村妇女| 亚洲一级免费毛片| 亚洲av成人无码网站…|