精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

SpringBoot整合RabbitMQ四種交換機類型詳解

開發 前端
RabbitMQ是實現了高級消息隊列協議(AMQP)的開源消息代理軟件(亦稱面向消息的中間件)。RabbitMQ服務器是用Erlang語言編寫的。所有主要的編程語言均有與代理接口通訊的客戶端庫。

環境:Spring Boot2.3.10 + RabbitMQ 3.8.12 + Erlang 23.2.5

1.1 RabbitMQ介紹

RabbitMQ是實現了高級消息隊列協議(AMQP)的開源消息代理軟件(亦稱面向消息的中間件)。RabbitMQ服務器是用Erlang語言編寫的。所有主要的編程語言均有與代理接口通訊的客戶端庫。

1.2 RabbitMQ核心概念

Server:又稱Broker, 接受客戶端的連接,實現AMQP實體服務,這里指RabbitMQ 服務器

Connection:連接,應用程序與Broker的網絡連接。

Channel:通信通道,幾乎所有的操作都在 Channel 中進行,Channel是進行消息讀寫的通道。客戶端可建立多個Channel:,每個Channel代表一個會話任務。(一個Socket連接可以創建多個Channel)

Virtual Host:虛擬主機,用于邏輯隔離,是最上層的消息路由。一個 Virtual Host 里面可以有若干個 Exchange(交換機)和 Queue(隊列)。

Binding:Exchange 和 Queue 之間的虛擬綁定關系。

Routing key:一 個路由規則,虛擬機可用它來確定如何路由一個特定消息,即交換機綁定到 Queue 的鍵。支持模式匹配,* 和#,*用來匹配一個單詞,#用來匹配多個單詞(可以是0個)這里的通配符只有在exchange的類型為topic才有效。

Queue:也稱為Message Queue,消息隊列,保存消息并將它們轉發給消費者。(接收端通過監聽Queue來接受消息)。

Message:消息,服務器和應用程序之間傳送的數據,由 Properties 和 Body 組成。Properties 可以對消息進行修飾,比如消息的優先級、延遲,過期時間,消息大小等高級特性;,Body 則就 是消息體內容。

Exchange類型:如下四種類型:fanout,headers,direct,topic。

圖片圖片

1.3 Exchange交換機類型

  • fanout

發布/訂閱,消費發送到該種類型的交換機后會將消息發送到所有與之綁定的Queue中,不管你有沒有設置routing key。

  • headers

該類型用得極少,主要就是根據設置的header來進行匹配。如下紅框中你所設置的arguments:

圖片圖片

  • direct

在exchange與queue進行綁定時需要設置routing key,只有發送消息的端設置的routing key與這里綁定的routingkey完全相同才會將消息發到隊列中。

  • topic
exchange與queue綁定時設置的routing key支持通配符*和#,*用來匹配一個單詞,#用來匹配多個單詞(可以是0個)。

1.4 使用案例

準備環境:

依賴

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>

配置文件

spring:
  rabbitmq:
    host: localhost
    port: 5672
    username: admin
    password: 123456
    virtual-host: /
    publisherConfirmType: correlated
    publisherReturns: true
    listener:
      simple:
        concurrency: 5
        maxConcurrency: 10
        prefetch: 5
        acknowledgeMode: MANUAL
        retry:
          enabled: true
          initialInterval: 3000
          maxAttempts: 3
        defaultRequeueRejected: false

1、fanout類型交換機

  • 通過RabbitMQ控制臺新建fanout類型交換機:fanout-exchange

圖片圖片

  • 新建隊列:fanout-queue1,fanout-queue2,fanout-queue3

圖片圖片

按照上面的方式分別建立3個隊列。

  • 將fanout-exchange與3個隊列(fanout-queue*)進行綁定

圖片圖片

將3個隊列分別于fanout-exchange進行綁定,這里在綁定時分別設定了不同的路由key,就是為了驗證fanout類型的交換機是否與routing key有關系。

  • 測試

發送接口:

@RestController
@RequestMapping("/messages")
public class MessageController {
  @Resource
  private MessageSend ms ;
  @GetMapping("/sendFanout")
  public Object send(String msg) {
    ms.send(msg) ;
    return "success" ;
}
}
@Resource
private RabbitTemplate rabbitTemplate ;


public void send(String msg) {
  logger.info("準備發送消息:{}", msg);
  rabbitTemplate.convertAndSend("fanout-exchange", "rk.1.2", msg) ;
}

這里故意設置了路由key 就是為了看fanout類型的交換機是否與routing key 有關系。

圖片圖片

3個隊列都收到了消息,說明fanout類型的交換機與綁定queue時routing key是沒有關系的,只要綁定了該類型的交換機都會收到消息。

2、headers類型交換機

  • 通過RabbitMQ控制臺新建headers類型交換機:headers-exchange

圖片圖片

  • 新建隊列:headers-queue1,headers-queue2

圖片圖片

  • 將headers-exchange與2個隊列(headers-queue*)進行綁定

圖片圖片

  • 測試

發送接口

@GetMapping("/sendHeaders")
public Object sendHeaders(String msg) {
  ms.sendHeaders(msg) ;
  return "success" ;
}
public void sendHeaders(String msg) {
  logger.info("準備發送消息:{}", msg);
  Message message = MessageBuilder.withBody(msg.getBytes()).setHeader("a", "b").setHeader("pack", "xg").build() ;
  rabbitTemplate.send("headers-exchange", "rk.1.2", message) ;
}

注意:這里設置了Header信息與headers-exchange和headers-queue1綁定時設置的參數完全相同。

圖片圖片

headers-queue2就沒有收到消息。如果在進行綁定時沒有設置x-match參數默認是完全要匹配綁定時設定的參數,也就是x-match:all。如下,如果不配置x-match也就相當于:

圖片圖片

x-match 還有一個取值就是any,只要有任意的一個匹配上那就成功。

修改headers-queue1,headers-queue2綁定的參數,如下:

圖片圖片

兩個參數中都加入了x-match:any 只要有任意一個參數匹配即可。

再次發送消息:

圖片圖片

兩個隊列都收到了消息。

3、direct類型交換機

  • 通過RabbitMQ控制臺新建direct類型交換機:direct-exchange

圖片圖片

  • 新建隊列:direct-queue1,direct-queue2

圖片圖片

  • 將direct-exchange與2個隊列(direct-queue*)進行綁定

圖片圖片

  • 測試

發送接口:

@GetMapping("/sendDirect")
public Object sendDirect(String msg) {
  ms.sendDirect(msg) ;
  return "success" ;
}
public void sendDirect(String msg) {
  logger.info("準備發送消息:{}", msg);
  rabbitTemplate.convertAndSend("direct-exchange", "de.m", msg) ;
}

圖片

2個隊列都收到了消息。

4、topic類型交換機

  • 通過RabbitMQ控制臺新建topic類型交換機:topic-exchange

圖片圖片

  • 新建隊列:topic-queue1,topic-queue2

圖片圖片

  • 將topic-exchange與2個隊列(topic-queue*)進行綁定

圖片圖片

*: 只能匹配一個單詞;#:能匹配多個單詞(也可以是0個)。

  • 測試

發送接口:

@GetMapping("/sendTopic")
public Object sendTopic(String msg) {
  ms.sendTopic(msg) ;
  return "success" ;
}
public void sendTopic(String msg) {
  logger.info("準備發送消息:{}", msg);
  rabbitTemplate.convertAndSend("topic-exchange", "te.1.ok", msg) ;
}

圖片圖片

兩個隊列都收到了消息。

修改發送消息的routing key

rabbitTemplate.convertAndSend("topic-exchange", "te.2.ok", msg) ;

圖片圖片

只有topic-queue2收到了消息,因為綁定時設置的routing-key 是:

圖片圖片

能夠匹配多個單詞。

以上就介紹完了rabbitmq的四種交換機類型。

責任編輯:武曉燕 來源: Spring全家桶實戰案例源碼
相關推薦

2023-11-06 07:50:00

RabbitMQ交換機

2010-01-12 17:21:31

百兆交換機

2019-05-08 10:50:37

交換機組網網絡

2010-01-04 10:33:38

核心交換機

2009-07-08 18:20:21

JDBC驅動

2010-01-05 15:31:10

2021-10-24 08:37:18

網絡監控網絡架構網絡

2010-01-07 16:45:10

交換機故障

2010-01-13 17:12:22

核心交換機

2024-05-21 14:04:16

2013-08-06 09:56:07

交換機端口交換機

2014-12-25 09:41:15

Android加載方式

2010-02-22 16:39:08

千兆交換機

2010-04-13 22:45:58

2009-12-17 13:34:05

2022-08-10 06:16:49

網絡交換機網絡

2010-01-04 15:13:27

交換機SNMP配置命令

2010-01-14 17:13:07

交換機故障

2011-05-12 12:05:00

交換機

2010-01-04 14:18:07

交換機基礎知識
點贊
收藏

51CTO技術棧公眾號

亚洲a在线观看| 亚洲最新视频在线| 欧美高清中文字幕| 天天干在线观看| 99国产精品| 国产亚洲精品日韩| 亚洲欧美日韩三级| 免费在线观看av电影| 成人动漫一区二区三区| 欧美最猛性xxxxx(亚洲精品)| 一区二区三区伦理片| 亚洲男男av| 精品久久久久久久久久| 日韩影片在线播放| 精品国产乱码一区二区三| 国产亚洲毛片| 精品国产网站地址| www国产视频| 欧美激情三区| 天天操天天色综合| aaa免费在线观看| 亚洲av成人无码久久精品老人| 另类的小说在线视频另类成人小视频在线 | 国产精品自在在线| 欧美自拍视频在线观看| 九九视频免费在线观看| 欧美艳星介绍134位艳星| 日韩一区二区不卡| 最近免费中文字幕中文高清百度| 永久免费网站在线| 中文字幕不卡三区| 欧美日韩在线观看一区二区三区| 亚洲第一成年人网站| 免费高清成人在线| 国产99久久久欧美黑人| 日韩少妇高潮抽搐| 国产精品va| 美女福利精品视频| 天堂网av2018| 欧美日韩国产高清电影| 亚洲免费av电影| 男人的天堂影院| 一区二区三区四区精品视频| 欧美男生操女生| 国产三级三级三级看三级| 黄色在线免费观看网站| 亚洲电影第三页| 国产成人亚洲综合无码| 99福利在线| 亚洲免费高清视频在线| 9999在线观看| 黄色网址在线免费| 亚洲日本成人在线观看| 在线观看日韩羞羞视频| 色影院视频在线| 中文字幕欧美国产| 欧美日韩国产精品一卡| 精品黑人一区二区三区在线观看| 精品亚洲porn| 国产精品高精视频免费| 亚洲伊人成人网| 亚洲成色精品| 久久久免费观看视频| 久久国产精品国语对白| 91久久夜色精品国产按摩| 亚洲欧洲一区二区三区在线观看| 亚洲欧美国产日韩综合| 美女av在线免费看| 一区二区三区在线免费| 91视频成人免费| 麻豆网站在线免费观看| 中文字幕不卡一区| 亚洲国产欧美不卡在线观看 | 国产米奇在线777精品观看| 国产精品电影在线观看| 中文字幕在线天堂| 久久久久国产精品午夜一区| 欧美最顶级丰满的aⅴ艳星| 奇米影视第四色777| 影音先锋亚洲电影| 97avcom| 三级视频在线观看| 丝袜美腿一区二区三区| 日韩av免费看网站| 日韩综合在线观看| 免费在线亚洲欧美| 日本精品久久电影| 国产91国语对白在线| 肉肉av福利一精品导航| 国产精品激情av电影在线观看 | 日本黄色不卡视频| 成人网男人的天堂| 久久精品国产美女| 免费av在线电影| 久久九九影视网| 日韩电影免费观看高清完整| 日本中文字幕视频在线| 亚洲精品高清视频在线观看| 日本人妻伦在线中文字幕| av最新在线| 日本精品视频一区二区三区| 亚洲 激情 在线| 日本一区二区三区视频在线看 | 成人黄色小视频在线观看| 国内精品二区| 视频在线不卡| 国产精品你懂的在线欣赏| 中文视频一区视频二区视频三区| 四虎影院观看视频在线观看 | 亚洲精选中文字幕| 九一在线免费观看| 成人情趣视频网站| 欧美激情va永久在线播放| 欧美特黄aaaaaa| 国内成+人亚洲+欧美+综合在线 | 精品国产乱码久久久久久88av| 国产在线观看网站| 欧美国产欧美亚州国产日韩mv天天看完整| 综合网五月天| 欧美xxx网站| 精品嫩草影院久久| 纪美影视在线观看电视版使用方法| 中文在线日韩| 日韩av电影在线免费播放| 亚洲综合五月天婷婷丁香| 成人黄色a**站在线观看| 日本一区二区三区四区高清视频| 影音先锋在线播放| 图片区小说区区亚洲影院| 亚洲黄色片免费| 中文有码一区| 欧美福利视频在线观看| 波多野结衣视频观看| 国产精一品亚洲二区在线视频| 久久国产精品-国产精品| 国产在线69| 91极品视觉盛宴| 天天躁日日躁狠狠躁av麻豆男男| 精品国产一区二区三区久久久樱花| 久久99视频免费| 一级黄色大片网站| 26uuu国产一区二区三区| 熟女视频一区二区三区| 搜成人激情视频| 亚洲国产欧美在线成人app | 一区二区三区中文在线| 国产aaaaa毛片| 免费看成人哺乳视频网站| 国内精品久久久久久久久| 国产一区二区麻豆| 久久久亚洲午夜电影| 国产玉足脚交久久欧美| av在线亚洲一区| 最近2019中文字幕一页二页| 欧美精品韩国精品| 国产激情一区二区三区四区| 亚洲欧洲一区二区福利| 欧美大胆成人| 亚洲精品美女久久| 久久精品国产亚洲AV无码男同| 国产一区二区精品久久99| 日韩在线第一区| 欧美91看片特黄aaaa| 亚洲成在人线av| 日韩欧美一级视频| caoporn国产精品| 久久国产精品网| 99精品在免费线中文字幕网站一区 | 亚洲三级免费观看| 超碰成人在线播放| 久久综合国产| 成人精品视频久久久久| aaa日本高清在线播放免费观看| 欧美午夜性色大片在线观看| 欧美熟妇精品黑人巨大一二三区| 国产日韩一区二区三区在线| 久久青青草原| 成人动漫一区| 亚洲一二三在线| 中文字幕在线观看欧美| 国产精品家庭影院| 在线视频日韩欧美| 欧美午夜a级限制福利片| 91日本在线观看| 国产一二三区在线观看| 欧美一区二区三区视频免费| 青青操国产视频| 国产91色综合久久免费分享| 国产一区二区三区小说| 国内精品国产成人国产三级粉色| 97视频免费在线观看| 日韩欧美在线番号| 欧美性受极品xxxx喷水| 日韩精品一区二区三区在线视频| 国内精品久久久久影院薰衣草 | 国产伦精品一区二区三区免费优势 | 久久久久久久一| 水莓100在线视频| 欧美日韩一区二区在线观看| 青青青在线免费观看| 暴力调教一区二区三区| 日韩欧美xxxx| 91精品一区国产高清在线gif| 国产成人精品日本亚洲11| www.精品| 欧美成人午夜免费视在线看片| a网站在线观看| 亚洲成国产人片在线观看| 久久成人激情视频| 国产一二三精品| 国产第一页视频| 中文精品久久| 欧美h视频在线| 成人在线分类| 欧美亚洲激情在线| 浪潮av一区| 国产一区二区久久精品| 亚洲第一黄色片| 欧美午夜精品一区| 国产精品2020| 亚洲国产精品成人综合| 亚洲图片欧美另类| 男人的天堂久久精品| 日韩精品在线中文字幕| 青草国产精品| 俄罗斯精品一区二区| 桃花岛tv亚洲品质| 欧美精品video| 欧美一级二级三级区| 亚洲国产毛片完整版| 国产一区二区三区中文字幕| 岛国视频午夜一区免费在线观看| 久久噜噜色综合一区二区| www成人在线观看| 日韩精品国产一区| 久久99精品久久久久久| 男女曰b免费视频| 亚洲五月婷婷| 精品国产一区二区三区在线| 欧美日韩激情| 久久久久久九九九九| 国产精品久久久久久久久久辛辛 | 亚洲av无码国产精品久久| 国产一区 二区 三区一级| www.超碰com| 狠狠干成人综合网| 五月天激情图片| 久久精品影视| 亚洲视频欧美在线| 欧美美女在线| 欧美日韩在线高清| 最近国产精品视频| 韩日午夜在线资源一区二区| 欧洲大片精品免费永久看nba| 国产a级全部精品| av老司机在线观看| 欧美黑人性猛交| www在线视频| 日韩在线中文字| av中文字幕在线| 国产亚洲成av人片在线观看桃| 香蕉视频网站在线| 亚洲国产日韩欧美在线图片| 蜜臀久久99精品久久久| 亚洲成人久久一区| 欧美特黄一级视频| 精品盗摄一区二区三区| 亚洲第一天堂影院| 精品少妇一区二区三区在线视频| 99re只有精品| 日韩一区二区精品| 丰满少妇一级片| 亚洲精品91美女久久久久久久| 天堂在线观看视频| 亚洲精品国产福利| 青青视频在线观| 亚洲色图美腿丝袜| 国产爆初菊在线观看免费视频网站 | 一区二区三区亚洲变态调教大结局| 亚洲综合一区二区不卡| 日韩在线亚洲| 国模精品一区二区三区| 丝袜久久网站| 日本不卡一区二区三区视频| 国产欧美日韩视频在线| 欧美精品二区三区四区免费看视频 | 妖精视频成人观看www| 免费看国产一级片| 香蕉久久夜色精品| 亚洲第一中文av| 国产专区综合网| 欧洲成人午夜精品无码区久久| 国产精品一区三区| 蜜桃传媒一区二区亚洲av| 国产人妖乱国产精品人妖| 污污的视频在线免费观看| 一区二区三区国产| 亚洲欧美自拍视频| 欧美色图天堂网| 精品人妻伦一区二区三区久久| 亚洲大胆人体在线| 成年网站在线| 久久久久久久成人| 欧美色999| 亚洲自拍偷拍区| 奇米777国产一区国产二区| 色狠狠久久av五月综合| 91精品1区| 自慰无码一区二区三区| 免费观看30秒视频久久| 久久久久国产免费| 91久色porny| 久久久久久久中文字幕| 色香蕉成人二区免费| 国产精品自偷自拍| 精品小视频在线| 国产精品久久久久久福利| 海角国产乱辈乱精品视频| 欧美一级大黄| av资源站久久亚洲| 蜜臀91精品国产高清在线观看| 亚洲一区二区三区加勒比 | 久久精品91久久香蕉加勒比 | 国产亚洲欧美激情| 欧美成人三级视频| 日本高清无吗v一区| 亚洲精品喷潮一区二区三区| 一区二区日韩精品| 69久成人做爰电影| 国产91视觉| 日韩免费久久| 国产极品在线视频| 国产老妇另类xxxxx| 国产精品无码无卡无需播放器| 亚洲mv在线观看| 成人午夜精品视频| 亚洲成人1234| 国产激情视频在线| 国产精品中文字幕在线| 亚洲福利天堂| 欧美中日韩在线| 奇米影视在线99精品| 国产精品久久无码| 中文字幕在线一区免费| 精品国产一区二区三区四| 亚洲成人av中文字幕| 在线看三级电影| 91中文字幕在线| 欧美日韩中字| 日韩黄色片视频| hitomi一区二区三区精品| 久久久全国免费视频| 制服丝袜亚洲精品中文字幕| yourporn在线观看中文站| 日产日韩在线亚洲欧美 | 精品一区日韩成人| 制服诱惑一区二区| 中文字幕精品久久久| 亚洲午夜精品在线| 国产精品一级视频| 九九精品在线视频| 午夜视频一区二区在线观看| 国产a级片免费看| 久久99精品久久久久久国产越南 | 亚州综合一区| 欧美爱爱视频免费看| av一区二区三区四区| 亚欧洲精品在线视频| 精品国产一区久久| ririsao久久精品一区| 91精品视频专区| 亚洲国产免费| 国产精品久久无码| 欧美午夜无遮挡| 国产视频三级在线观看播放| 国产精品v日韩精品| 日韩电影在线视频| 国产黄色一区二区三区| 一区二区三区蜜桃网| 丰满人妻av一区二区三区| 久久久综合av| 欧洲vs亚洲vs国产| www.亚洲天堂网| 国产精品美女www爽爽爽| www日本在线| 97久久精品人搡人人玩| 中文有码一区| wwwwxxxx日韩| 亚洲狼人国产精品| 欧美一区二区三区成人片在线| 国产suv精品一区二区| 成人免费a**址| 污免费在线观看| 亚洲成人av福利| 黄色片免费在线| 成人久久一区二区三区| 亚洲无线一线二线三线区别av| 中文字幕国产专区| 欧美日韩国产另类一区| 四虎影视国产在线视频|