pom:
emailservice:org.springframework.boot
spring-boot-starter-amqp
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.junit.vintage
junit-vintage-engine
org.springframework.amqp
spring-rabbit-test
test
logservice:package com.kejin.mqtest.mq;
import org.springframework.amqp.core.exchangetypes;
import org.springframework.amqp.rabbit.annotation.*;
import org.springframework.stereotype.component;
@component
//1.會把申請的佇列和交換機進行繫結
//2.確定訊息的模式 fanout direct topic
//3.確定佇列queue的永續性
@rabbitlistener(bindings = @queuebinding(value = @queue(value = "$",autodelete="false"),
exchange = @exchange(value = "$",type = exchangetypes.direct),
key = "email"
))public class emailservice
}
yml:package com.kejin.mqtest.mq;
import org.springframework.amqp.core.exchangetypes;
import org.springframework.amqp.rabbit.annotation.*;
import org.springframework.stereotype.component;
@component
//1.會把申請的佇列和交換機進行繫結
//2.確定訊息的模式 fanout direct topic
//3.確定佇列queue的永續性
@rabbitlistener(bindings = @queuebinding(value = @queue(value = "$",autodelete="false"),
exchange = @exchange(value = "$",type = exchangetypes.direct),
key = "log"
))public class logservice
}
server:
port: 8081
spring:
rabbitmq:
host: 192.168.31.97
port: 5672
password: admin
username: admin
virtual-host: /
order:
direct:
#交換機
exchange: order.direct.exchange
#log日誌佇列
log:
queue: log
#郵件佇列
email:
queue: email
RabbitMQ 簡單的生產者 消費者模式
rabbitmq 是乙個訊息 它接受並 訊息。可以把它看成是乙個郵局 當你把你想要郵寄的郵件放在乙個郵筒裡時,你可以確信信使最終會把郵件送到您的收件人手中。在這裡,rabbitmq 充當了郵筒,郵局,信使的角色。rabbitmq 與郵局的主要區別在於它不處理紙張,他所做的僅僅只是接收 訊息。下面是r...
RabbitMQ生產者消費者模型
生產者 mport pika connection pika.blockingconnection pika.connectionparameters host 127.0.0.1 建立乙個例項 channel connection.channel 宣告乙個管道 channel.queue decl...
rabbit mq消費者怎麼限制 速度
如果併發數量很高,那麼這個時候佇列中就會有很多訊息等待處理,如果不限制消費者的拉取數量,消費者就會每秒拉取很多的訊息,最後還是會達到乙個很高的併發數,消費者伺服器照樣存在崩潰的可能性。使用前提 消費者採用的是手動確認模式 修改配置檔案,這裡使用的是yml格式 spring rabbitmq list...