SpringBoot中rabbitMQ的基本使用

2021-10-04 11:57:23 字數 1995 閱讀 4631

org.springframework.boot

spring-boot-starter-amqp

spring:

rabbitmq:

host: 192.168.200.128

1. 預設交換機.

預設交換機(default exchange)實際上是乙個由rabbitmq預先宣告好的名字為空字串的直連交換機(direct exchange)。它有乙個特殊的屬性使得它對於簡單應用特別有用處:那就是每個新建佇列(queue)都會自動繫結到預設交換機上,繫結的路由鍵(routing key)名稱與佇列名稱相同 (*路routingkey和佇列名稱相同)

2.direct exchange 直連交換機 (乙個交換機對應多個佇列 並且繫結的時候配置路由鍵  傳送訊息的時候 指定可以接收訊息的路由)

直連型交換機(direct exchange)是根據訊息攜帶的路由鍵(routing key)將訊息投遞給對應佇列的,步驟如下:   將乙個隊     列 繫結到某個交換機上,同時賦予該繫結乙個路由鍵(routing key)

當乙個攜帶著路由值為r的訊息被傳送給直連交換機時,交換機會把它路由給繫結值同樣為r的佇列。

3.fanout exchange(扇型交換機)(沒有路由,給所有繫結的佇列都會傳送訊息)

扇型交換機(funout exchange)將訊息路由給繫結到它身上的所有佇列。不同於直連交換機,路由鍵在此型別上不啟任務作用。如果n個佇列繫結到某個扇型交換機上,當有訊息傳送給此扇型交換機時,交換機會將訊息的傳送給這所有的n個佇列

4.topic exchange(主題交換機)(與直連交換機差距不大 區別 是在繫結的時候可以用*號代替乙個字元 #號代表任意 和資料庫中的_和*乙個概念)

主題交換機(topic exchanges)中,佇列通過路由鍵繫結到交換機上,然後,交換機根據訊息裡的路由值,將訊息路由給乙個或多個繫結佇列。

扇型交換機和主題交換機異同:

對於扇型交換機路由鍵是沒有意義的,只要有訊息,它都傳送到它繫結的所有佇列上

對於主題交換機,路由規則由路由鍵決定,只有滿足路由鍵的規則,訊息才可以路由到對應的佇列上

配置

//宣告佇列的方法

@bean(queue)

public queue queue()

//宣告交換機 下面例項為fanout交換機 如果建立其他型別交換機 exchangebuilder . 交換機名稱即可

@bean(excahnge)

public exchange exchange()

//繫結交換機和佇列

@bean

public binding goods_down_exchange_binding(@qualifier(queue)queue queue,@qualifier(exchange)exchange exchange)

傳送訊息

rabbittemplate.convertandsend(交換機名稱,路由key,傳送的訊息內容);

//預設交換機 沒有名稱 對應的路由key就為佇列名稱

rabbittemplate.convertandsend("",佇列名稱,傳送的訊息內容);

//fanoutexchange 會給所有的繫結佇列傳送訊息 所以不用配置路由key

rabbittemplate.convertandsend(交換機名稱,"",傳送的訊息內容);

// direct exchange topic exchange

rabbittemplate.convertandsend(交換機名稱,路由key,傳送的訊息內容);

接收訊息

@component

public class topictotalreceiver

}

用monit監控mongodb和rabbitmq

什麼是monit monit是乙個跨平台的用來監控unix linux系統 比如linux bsd osx solaris 的工具。monit特別易於安裝,而且非常輕量級 只有500kb大小 並且不依賴任何第三方程式 外掛程式或者庫。安裝 yum install monit 如何配置 使用yum安裝...

php使用amqplib方式使用rabbitmq

安裝 sudo apt get install php sudo apt get install rabbitmq server sudo apt get install php bcmath php mbstring php dom php curl sudo apt get install co...

CentOS下安裝Erlang和RabbitMQ

首先使epel 生效 rpm uvh wget o etc yum.repos.d epel erlang.repo 安裝包 otp src r14b.tar.gz ok 了現在開始用 yum 安裝 erlang 和 rabbitmq吧 yum install erlang rabbitmq ser...