日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

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

來源: 責編: 時間:2023-08-14 22:01:41 473觀看
導讀環境:Spring Boot2.3.10 + RabbitMQ 3.8.12 + Erlang 23.2.51.1 RabbitMQ介紹RabbitMQ是實現了高級消息隊列協議(AMQP)的開源消息代理軟件(亦稱面向消息的中間件)。RabbitMQ服務器是用Erlang語言編寫的。所有主要的編程語

環境:Spring Boot2.3.10 + RabbitMQ 3.8.12 + Erlang 23.2.5inf28資訊網——每日最新資訊28at.com

1.1 RabbitMQ介紹

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

1.2 RabbitMQ核心概念

Server:又稱Broker, 接受客戶端的連接,實現AMQP實體服務,這里指RabbitMQ 服務器inf28資訊網——每日最新資訊28at.com

Connection:連接,應用程序與Broker的網絡連接。inf28資訊網——每日最新資訊28at.com

Channel:通信通道,幾乎所有的操作都在 Channel 中進行,Channel是進行消息讀寫的通道。客戶端可建立多個Channel:,每個Channel代表一個會話任務。(一個Socket連接可以創建多個Channel)inf28資訊網——每日最新資訊28at.com

Virtual Host:虛擬主機,用于邏輯隔離,是最上層的消息路由。一個 Virtual Host 里面可以有若干個 Exchange(交換機)和 Queue(隊列)。inf28資訊網——每日最新資訊28at.com

Binding:Exchange 和 Queue 之間的虛擬綁定關系。inf28資訊網——每日最新資訊28at.com

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

Queue:也稱為Message Queue,消息隊列,保存消息并將它們轉發給消費者。(接收端通過監聽Queue來接受消息)。inf28資訊網——每日最新資訊28at.com

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

Exchange類型:如下四種類型:fanout,headers,direct,topic。inf28資訊網——每日最新資訊28at.com

圖片圖片inf28資訊網——每日最新資訊28at.com

inf28資訊網——每日最新資訊28at.com

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

圖片圖片inf28資訊網——每日最新資訊28at.com

inf28資訊網——每日最新資訊28at.com

按照上面的方式分別建立3個隊列。inf28資訊網——每日最新資訊28at.com

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

圖片圖片inf28資訊網——每日最新資訊28at.com

將3個隊列分別于fanout-exchange進行綁定,這里在綁定時分別設定了不同的路由key,就是為了驗證fanout類型的交換機是否與routing key有關系。inf28資訊網——每日最新資訊28at.com

  • 測試

發送接口:inf28資訊網——每日最新資訊28at.com

@RestController@RequestMapping("/messages")public class MessageController {  @Resource  private MessageSend ms ;  @GetMapping("/sendFanout")  public Object send(String msg) {    ms.send(msg) ;    return "success" ;}}@Resourceprivate RabbitTemplate rabbitTemplate ;public void send(String msg) {  logger.info("準備發送消息:{}", msg);  rabbitTemplate.convertAndSend("fanout-exchange", "rk.1.2", msg) ;}

這里故意設置了路由key 就是為了看fanout類型的交換機是否與routing key 有關系。inf28資訊網——每日最新資訊28at.com

圖片圖片inf28資訊網——每日最新資訊28at.com

3個隊列都收到了消息,說明fanout類型的交換機與綁定queue時routing key是沒有關系的,只要綁定了該類型的交換機都會收到消息。inf28資訊網——每日最新資訊28at.com

2、headers類型交換機inf28資訊網——每日最新資訊28at.com

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

圖片圖片inf28資訊網——每日最新資訊28at.com

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

圖片圖片inf28資訊網——每日最新資訊28at.com

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

圖片圖片inf28資訊網——每日最新資訊28at.com

  • 測試

發送接口inf28資訊網——每日最新資訊28at.com

@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綁定時設置的參數完全相同。inf28資訊網——每日最新資訊28at.com

圖片圖片inf28資訊網——每日最新資訊28at.com

headers-queue2就沒有收到消息。如果在進行綁定時沒有設置x-match參數默認是完全要匹配綁定時設定的參數,也就是x-match:all。如下,如果不配置x-match也就相當于:inf28資訊網——每日最新資訊28at.com

圖片圖片inf28資訊網——每日最新資訊28at.com

兩個隊列都收到了消息。inf28資訊網——每日最新資訊28at.com

3、direct類型交換機inf28資訊網——每日最新資訊28at.com

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

圖片圖片inf28資訊網——每日最新資訊28at.com

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

圖片圖片inf28資訊網——每日最新資訊28at.com

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

圖片inf28資訊網——每日最新資訊28at.com

2個隊列都收到了消息。inf28資訊網——每日最新資訊28at.com

4、topic類型交換機inf28資訊網——每日最新資訊28at.com

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

圖片圖片inf28資訊網——每日最新資訊28at.com

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

圖片圖片inf28資訊網——每日最新資訊28at.com

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

圖片圖片inf28資訊網——每日最新資訊28at.com

兩個隊列都收到了消息。inf28資訊網——每日最新資訊28at.com

修改發送消息的routing keyinf28資訊網——每日最新資訊28at.com

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

圖片圖片inf28資訊網——每日最新資訊28at.com

只有topic-queue2收到了消息,因為綁定時設置的routing-key 是:inf28資訊網——每日最新資訊28at.com

圖片圖片inf28資訊網——每日最新資訊28at.com

能夠匹配多個單詞。inf28資訊網——每日最新資訊28at.com

以上就介紹完了rabbitmq的四種交換機類型。inf28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-5752-0.htmlSpringBoot整合RabbitMQ四種交換機類型詳解

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 谷歌全棧多平臺應用開發神器Project IDX來了!PaLM 2加持,代碼效率翻倍

下一篇: 前端請求大比拼:Fetch、Axios、Ajax、XHR

標簽:
  • 熱門焦點
  • K60至尊版剛預熱 一加Ace2 Pro正面硬剛

    Redmi這邊剛如火如荼的宣傳了K60 Ultra的各種技術和硬件配置,作為競品的一加也坐不住了。一加中國區總裁李杰發布了兩條微博,表示在自家的一加Ace2上早就已經采用了和PixelWo
  • Rust中的高吞吐量流處理

    作者 | Noz編譯 | 王瑞平本篇文章主要介紹了Rust中流處理的概念、方法和優化。作者不僅介紹了流處理的基本概念以及Rust中常用的流處理庫,還使用這些庫實現了一個流處理程序
  • 分布式系統中的CAP理論,面試必問,你理解了嘛?

    對于剛剛接觸分布式系統的小伙伴們來說,一提起分布式系統,就感覺高大上,深不可測。而且看了很多書和視頻還是一臉懵逼。這篇文章主要使用大白話的方式,帶你理解一下分布式系統
  • 之家push系統迭代之路

    前言在這個信息爆炸的互聯網時代,能夠及時準確獲取信息是當今社會要解決的關鍵問題之一。隨著之家用戶體量和內容規模的不斷增大,傳統的靠"主動拉"獲取信息的方式已不能滿足用
  • 當家的盒馬,加速謀生

    來源 | 價值星球Planet作者 | 歸去來自己“當家”的盒馬,開始加速謀生了。據盒馬官微消息,盒馬計劃今年開放生鮮供應鏈,將其生鮮商品送往食堂。目前,盒馬在上海已經與
  • 微博大門常打開,迎接海外畫師漂洋東渡

    作者:互聯網那些事“起猛了,我能看得懂日語了”。“為什么日本人說話我能聽懂?”“中文不像中文,日語不像日語,但是我竟然看懂了”…&hell
  • iQOO Neo8系列新品發布會

    旗艦雙芯 更強更Pro
  • 蘋果140W USB-C充電器:采用氮化鎵技術

    據10 月 30 日 9to5 Mac 消息報道,當蘋果推出新的 MacBook Pro 2021 時,該公司還推出了新的 140W USB-C 充電器,附贈在 MacBook Pro 16 英寸機型的盒子里,也支
  • 電博會與軟博會實現"線下+云端"的雙線融合

    在本次“電博會”與“軟博會”雙展會利好條件的加持下,既可以發揮展會拉動人流、信息流、資金流實現快速交互流動的作用,繼而推動區域經濟良性發展;又可以聚
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
久久国产精品久久w女人spa| 亚洲黄色一区二区三区| 欧美日韩国产在线一区| 欧美精品久久久久久久免费观看| 欧美理论大片| 欧美日韩一区二区三| 国产精品啊啊啊| 国产农村妇女精品一二区| 国产一区美女| 国产精品亚发布| 好吊视频一区二区三区四区| 亚洲二区在线| 一本久道久久综合婷婷鲸鱼| 亚洲小说欧美另类婷婷| 欧美一区二区三区日韩| 欧美一区午夜精品| 欧美不卡视频一区发布| 欧美日韩精品一二三区| 国产美女精品| 亚洲国产欧洲综合997久久| 一本色道久久综合亚洲精品不 | 欧美日韩p片| 国产精品丝袜xxxxxxx| 韩国免费一区| 夜夜嗨av色综合久久久综合网| 亚洲欧美日韩在线不卡| 久久亚洲不卡| 欧美视频在线观看| 国内久久精品| 日韩一级裸体免费视频| 欧美中文日韩| 欧美日本免费| 国产一区免费视频| 日韩视频免费观看高清在线视频 | 亚洲国产成人av| 亚洲视频电影在线| 久久久欧美精品| 欧美日韩精品欧美日韩精品一| 国产亚洲高清视频| 亚洲国产99精品国自产| 亚洲伊人网站| 毛片精品免费在线观看| 国产精品久久久久久久浪潮网站 | 亚洲国产精品999| 亚洲午夜精品福利| 蜜桃av一区二区| 欧美日韩亚洲一区在线观看| 国产综合精品| 亚洲性感美女99在线| 免费黄网站欧美| 国产人妖伪娘一区91| 99re在线精品| 久久亚洲精品网站| 国产精品私人影院| 9人人澡人人爽人人精品| 久久漫画官网| 国产免费亚洲高清| 亚洲高清123| 欧美一区二区三区四区视频| 欧美区高清在线| 在线免费观看欧美| 欧美一区二区三区电影在线观看| 欧美精品aa| 樱桃国产成人精品视频| 羞羞色国产精品| 欧美女同在线视频| 在线看国产日韩| 久久av红桃一区二区小说| 欧美午夜在线| 日韩亚洲欧美中文三级| 麻豆乱码国产一区二区三区| 国产亚洲美州欧州综合国| 亚洲一区二区在线看| 欧美精品一区二区三区高清aⅴ| 一区二区在线观看视频在线观看| 亚洲午夜精品网| 欧美日韩国产成人在线观看| 亚洲第一黄色网| 久久久水蜜桃av免费网站| 国产精品午夜久久| 亚洲一区二区三区免费观看| 欧美日韩国产123| 在线观看亚洲专区| 久久久另类综合| 国产一区二区三区日韩欧美| 性久久久久久久久久久久| 欧美四级电影网站| 亚洲开发第一视频在线播放| 欧美成人精品高清在线播放| 亚洲黄色尤物视频| 免费不卡视频| 亚洲国产欧美另类丝袜| 久久亚洲国产成人| 极品尤物av久久免费看 | 久久久久久久999| 国产日韩在线视频| 欧美在线3区| 国产日韩欧美精品综合| 欧美在线观看网站| 国产日本欧美在线观看| 午夜精品久久| 国内精品久久久久伊人av| 久久伊人免费视频| 亚洲人成人一区二区三区| 欧美激情在线播放| 亚洲天堂第二页| 国产一区二区三区四区在线观看| 久久综合导航| 日韩午夜在线观看视频| 国产精品久久久久久久久久免费| 欧美一区二区三区在线| 狠狠色综合网| 欧美精品激情在线观看| 亚洲一区二区av电影| 国产一区二区三区黄| 欧美a级大片| 亚洲一卡久久| 激情综合激情| 欧美日韩亚洲一区在线观看| 欧美一区二区三区在线播放| 亚洲欧洲视频| 国产精品一区二区三区成人| 久久综合网hezyo| 一区二区三区日韩在线观看 | 正在播放日韩| 国产一区二区三区在线观看精品| 免费人成精品欧美精品| 亚洲天堂成人在线观看| 好吊色欧美一区二区三区四区| 欧美激情综合五月色丁香| 香蕉免费一区二区三区在线观看| 亚洲福利视频网站| 国产精品久久久久秋霞鲁丝| 久久免费视频在线观看| 亚洲视频免费在线观看| 一区二区三区在线免费视频| 欧美日韩在线视频一区| 久久久久久久一区| 一区二区三区黄色| 一区二区三区中文在线观看| 欧美三区在线| 免费观看日韩av| 亚洲在线一区| 亚洲青色在线| 国产一区二区三区免费在线观看 | 亚洲高清免费视频| 国产精品普通话对白| 欧美成人性网| 久久成人18免费观看| 夜夜狂射影院欧美极品| 伊人久久婷婷| 国产精品一区2区| 欧美精品18videos性欧美| 欧美一区激情视频在线观看| 一本大道久久精品懂色aⅴ| 伊人夜夜躁av伊人久久| 国产麻豆精品theporn| 欧美日本三区| 狂野欧美激情性xxxx欧美| 午夜亚洲性色福利视频| 亚洲乱码国产乱码精品精可以看| 国产综合精品一区| 国产精品久久久久久久久久免费| 欧美成人a∨高清免费观看| 欧美在线你懂的| 亚洲一区久久久| 99国产精品99久久久久久粉嫩| 亚洲国产精品精华液2区45| 国产曰批免费观看久久久| 欧美日韩亚洲综合| 欧美第一黄网免费网站| 久久久久欧美精品| 欧美在线精品一区| 亚洲欧美日韩国产一区二区三区 | 夜夜嗨一区二区| 亚洲三级免费观看| 亚洲高清在线播放| 在线精品亚洲一区二区| 国内精品久久国产| 国产日韩三区| 国产美女一区二区| 国产精品久久激情| 欧美图区在线视频| 欧美色图首页| 欧美日韩亚洲成人| 欧美人与性动交a欧美精品| 欧美成人在线网站| 蜜臀va亚洲va欧美va天堂| 久久久国产精品一区| 久久国内精品自在自线400部| 午夜精彩视频在线观看不卡| 亚洲一区二区免费| 中文欧美在线视频| 亚洲视频精品在线| 一区二区日韩伦理片| 亚洲美女视频在线免费观看| 亚洲破处大片| 亚洲精品视频一区| 亚洲精品一二三| 亚洲美女视频网| 伊人色综合久久天天五月婷| 国内精品久久久久影院色| 国产在线精品二区| 国产日韩精品视频一区|