rabbitmq直連模式 消費者

2021-10-09 09:19:09 字數 1921 閱讀 8581

pom:

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

emailservice:

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

}

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 = "log"

))public class logservice

}

yml:

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...