中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

個人直播網(wǎng)站開發(fā)廣告安裝接單app

個人直播網(wǎng)站開發(fā),廣告安裝接單app,臺州網(wǎng)站建設(shè)惠店,購物最便宜的平臺深入理解RabbitMQ交換機的原理與應(yīng)用 引言1. RabbitMQ交換機簡介介紹1.1 什么是RabbitMQ?1.1.1 消息中間件的作用1.1.2 RabbitMQ的特點和優(yōu)勢 1.2 RabbitMQ的基本概念1.2.1 隊列1.2.2 交換機1.2.3 路由鍵 1.3 交換機的作用和分類1.3.1 直連交換機(direct…

在這里插入圖片描述

深入理解RabbitMQ交換機的原理與應(yīng)用

  • 引言
  • 1. RabbitMQ交換機簡介介紹
    • 1.1 什么是RabbitMQ?
      • 1.1.1 消息中間件的作用
      • 1.1.2 RabbitMQ的特點和優(yōu)勢
    • 1.2 RabbitMQ的基本概念
      • 1.2.1 隊列
      • 1.2.2 交換機
      • 1.2.3 路由鍵
    • 1.3 交換機的作用和分類
      • 1.3.1 直連交換機(direct exchange)
      • 1.3.2 扇出交換機(fanout exchange)
      • 1.3.3 主題交換機(topic exchange)
      • 1.3.4 頭交換機(headers exchange)
      • 1.3.5 死信交換機
  • 2. RabbitMQ交換機應(yīng)用
    • 2.1直連交換機實踐
    • 2.2 主題交換機實踐
    • 2.3 扇形交換機實踐
  • 總結(jié)

引言

在當(dāng)今的分布式系統(tǒng)和微服務(wù)架構(gòu)中,消息中間件扮演著至關(guān)重要的角色。RabbitMQ作為一個功能強大的消息中間件,其交換機是其中核心的組件之一。本文將深入探討RabbitMQ交換機的原理和應(yīng)用,幫助讀者更好地理解和應(yīng)用消息隊列技術(shù)。

1. RabbitMQ交換機簡介介紹

1.1 什么是RabbitMQ?

RabbitMQ是一個開源的消息代理軟件,它遵循AMQP(高級消息隊列協(xié)議)標(biāo)準(zhǔn),用于在分布式系統(tǒng)中存儲和轉(zhuǎn)發(fā)消息。作為消息中間件,RabbitMQ扮演著消息傳遞和消息隊列的角色,允許應(yīng)用程序之間進行異步通信。

1.1.1 消息中間件的作用

消息中間件的作用在于解耦消息的發(fā)送者和接收者,實現(xiàn)異步通信,提高系統(tǒng)的可伸縮性和彈性。它可以協(xié)調(diào)不同服務(wù)之間的通信,確保消息的可靠傳遞,并提供消息的持久化、路由和傳輸?shù)裙δ堋?/p>

1.1.2 RabbitMQ的特點和優(yōu)勢

RabbitMQ具有高可靠性、靈活的路由、消息持久化、集群和分布式部署支持等特點。它的優(yōu)勢在于支持多種消息傳遞模式,如點對點、發(fā)布/訂閱和路由等,同時提供了豐富的插件和管理工具。

1.2 RabbitMQ的基本概念

1.2.1 隊列

隊列是消息的容器,用于存儲消息直到消費者準(zhǔn)備接收它們。消息可以被一個或多個消費者訂閱。

1.2.2 交換機

交換機是消息的分發(fā)中心,它接收來自生產(chǎn)者的消息,并將它們路由到一個或多個隊列。

1.2.3 路由鍵

路由鍵是生產(chǎn)者在將消息發(fā)送到交換機時附加的關(guān)鍵字,交換機根據(jù)路由鍵將消息路由到一個或多個隊列。

1.3 交換機的作用和分類

在這里插入圖片描述

交換機負責(zé)接收來自生產(chǎn)者的消息,并將它們路由到一個或多個隊列。RabbitMQ提供了不同類型的交換機,包括直連交換機、扇出交換機、主題交換機和頭交換機。

1.3.1 直連交換機(direct exchange)

在這里插入圖片描述

直連交換機根據(jù)消息的路由鍵將消息路由到特定的隊列。它是最簡單的交換機類型,路由鍵與隊列綁定的路由鍵完全匹配時,消息才會被路由到相應(yīng)的隊列。

1.3.2 扇出交換機(fanout exchange)

扇出交換機會將消息路由到與之綁定的所有隊列,忽略消息的路由鍵。這種模式適合廣播消息給多個消費者的場景。

1.3.3 主題交換機(topic exchange)

主題交換機根據(jù)消息的路由鍵和通配符將消息路由到一個或多個隊列。它提供了更靈活的路由規(guī)則,可以根據(jù)路由鍵的模式進行匹配。
在這里插入圖片描述

1.3.4 頭交換機(headers exchange)

頭交換機使用消息的屬性(headers)來進行匹配,而不是路由鍵。這種交換機類型提供了更復(fù)雜的匹配規(guī)則,可以根據(jù)消息的屬性進行匹配和路由。

1.3.5 死信交換機

在這里插入圖片描述
在這里插入圖片描述

2. RabbitMQ交換機應(yīng)用

2.1直連交換機實踐

創(chuàng)建好隊列與交換機,并且綁定

 @Beanpublic Queue queue1(){return new Queue("queue1");}@Beanpublic Queue queue2(){return new Queue("queue2");}@Beanpublic DirectExchange drectexchange(){return new DirectExchange("drectexchange");}@Beanpublic Binding bingding1(){return BindingBuilder.bind(queue1()).to(drectexchange()).with("a");}@Beanpublic Binding bingding2(){return BindingBuilder.bind(queue2()).to(drectexchange()).with("b");}

生產(chǎn)者方法

 @RequestMapping("/send3")public String send3(){//向消息隊列發(fā)送消息amqpTemplate.convertAndSend("drectexchange","a","hello");return "哈哈;";}

消費者監(jiān)聽

package com.example.consumer;import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;@Component
@SuppressWarnings("all")
@Slf4j
@RabbitListener(queues = "queue1")
public class ReceiverQ1 {
@RabbitHandler
public void process(String msg) {
log.warn("Q1接收到:" + msg);
}
}
package com.example.consumer;import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;@Component
@SuppressWarnings("all")
@Slf4j
@RabbitListener(queues = "queue2")
public class ReceiverQ2 {
@RabbitHandler
public void process(String msg) {
log.warn("Q2接收到:" + msg);
}
}

運行一遍send3方法
在這里插入圖片描述

2.2 主題交換機實踐

前提準(zhǔn)備,打開RabbitMQ服務(wù),參考 構(gòu)建高可用消息隊列系統(tǒng) 01

進入實戰(zhàn)

創(chuàng)建好隊列與交換機,并且綁定

  @Beanpublic TopicExchange topicExchange(){return new TopicExchange("topicExchange");}@Beanpublic Binding bingding3(){return BindingBuilder.bind(queue1()).to(topicExchange()).with("*.*.a");}@Beanpublic Binding bingding4(){return BindingBuilder.bind(queue2()).to(topicExchange()).with("*.*.b");}@Beanpublic Binding bingding5(){return BindingBuilder.bind(queue1()).to(topicExchange()).with("mq.#");}@Beanpublic Binding bingding6(){return BindingBuilder.bind(queue2()).to(topicExchange()).with("mq.#");}

生產(chǎn)者方法

@RequestMapping("/send4")public String send4(String rex){//向消息隊列發(fā)送消息amqpTemplate.convertAndSend("topicExchange",rex,"hello");return "哈哈;";}

消費者監(jiān)聽在直連交換機上有
測試1
在這里插入圖片描述
在這里插入圖片描述
測試2
在這里插入圖片描述
在這里插入圖片描述
測試3
mq打頭
在這里插入圖片描述
在這里插入圖片描述

2.3 扇形交換機實踐

創(chuàng)建好隊列與交換機,并且綁定

  @Beanpublic FanoutExchange fanoutExchange(){return new FanoutExchange("fanoutExchange");}@Beanpublic Binding bingding7(){return BindingBuilder.bind(queue1()).to(fanoutExchange());}@Beanpublic Binding bingding8(){return BindingBuilder.bind(queue2()).to(fanoutExchange());}

生產(chǎn)者方法
生產(chǎn)者調(diào)用convertAndSend時第二個參數(shù)必須要有,可以給null值,否則報錯

 @RequestMapping("/send5")public String send5(){//向消息隊列發(fā)送消息amqpTemplate.convertAndSend("fanoutExchange","","hello");return "哈哈;";}

消費者監(jiān)聽在直連交換機上有
測試
在這里插入圖片描述

在這里插入圖片描述

總結(jié)

RabbitMQ交換機作為消息中間件的核心組件,其靈活的路由規(guī)則和豐富的特性為分布式系統(tǒng)和微服務(wù)架構(gòu)提供了強大的消息通信支持。通過深理解RabbitMQ交換機的原理和應(yīng)用,可以更好地設(shè)計和構(gòu)建可靠的消息傳遞系統(tǒng),為復(fù)雜的應(yīng)用場景提供穩(wěn)定高效的消息通信機制。

http://www.risenshineclean.com/news/52682.html

相關(guān)文章:

  • 農(nóng)八師建設(shè)兵團社保網(wǎng)站保定seo網(wǎng)站推廣
  • 全國住房和城鄉(xiāng)建設(shè)廳證書查詢網(wǎng)搜索引擎優(yōu)化面對哪些困境
  • 網(wǎng)站建設(shè)優(yōu)化公司哪家好公司頁面設(shè)計
  • 網(wǎng)站分類查詢百度競價推廣點擊軟件奔奔
  • 福州企業(yè)網(wǎng)站維護價格低seo整站優(yōu)化新站快速排名
  • 網(wǎng)站備案 有什么用品牌整合營銷案例
  • 做訂餐網(wǎng)站數(shù)據(jù)庫應(yīng)該有哪些表凡科建站怎么樣
  • 中企中立做的網(wǎng)站好嗎網(wǎng)絡(luò)營銷服務(wù)策略
  • 個人網(wǎng)站建設(shè)的要點小紅書網(wǎng)絡(luò)營銷策劃方案
  • 5173游戲交易網(wǎng)站源碼網(wǎng)絡(luò)營銷培訓(xùn)課程
  • wordpress主頁文件夾網(wǎng)站如何優(yōu)化一個關(guān)鍵詞
  • 網(wǎng)站如何做實名驗證碼優(yōu)化seo哪家好
  • wordpress小工具不顯示搜索引擎優(yōu)化培訓(xùn)中心
  • 網(wǎng)站地圖在線生成色盲測試圖片60張
  • 寫作網(wǎng)站制作淘寶店怎么運營和推廣
  • 專注吳中網(wǎng)站建設(shè)推廣百度信息流
  • 網(wǎng)站建設(shè)商標(biāo)保護成都網(wǎng)站快速排名
  • web.py網(wǎng)站開發(fā)圖片家庭優(yōu)化大師免費下載
  • 純html css做的網(wǎng)站安卓優(yōu)化大師app下載
  • 泰安千橙網(wǎng)站建設(shè)百度百度一下
  • 移動端友好網(wǎng)站產(chǎn)品營銷方案
  • 營銷顧問公司seo是什么部位
  • 普定縣建設(shè)局網(wǎng)站怎么辦網(wǎng)站平臺
  • 南昌網(wǎng)站空間怎么優(yōu)化
  • 網(wǎng)站開發(fā)公司海報如何做好網(wǎng)站站內(nèi)優(yōu)化
  • 福建漳州網(wǎng)站建設(shè)費用seo外鏈怎么做
  • 寧波英文網(wǎng)站建設(shè)如何做個網(wǎng)站推廣自己產(chǎn)品
  • 視頻手機網(wǎng)站開發(fā)seo優(yōu)化公司哪家好
  • 設(shè)計網(wǎng)站都有哪些南京最新消息今天
  • 手機維修網(wǎng)站模板長沙互聯(lián)網(wǎng)推廣公司