RabbitMQ的安装及使用(Docker&SpringBoot)

RabbitMQ

一个由 Erlang 语言开发的AMQP的开源实现

安装rabbit

docker pull rabbitmq:management

先确保已经安装了docker

启动容器

docker run -di --name=rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 rabbitmq:management

安装完后查看容器

docker ps

引入依赖并配置

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

# 配置文件中添加
rabbitmq:
  host: 安装rabbitmq的服务器IP

直接模式

需要将消息发给唯一一个节点时,使用这种模式

在这里插入图片描述

只经过一个空字符串的交换器

分列模式

在这里插入图片描述

主题模式

消息生产者产出消息——>发送到交换器——>通过不同的rountingkey——>绑定不同的队列

一个消息可以发给不同的队列(通过匹配rountingkey)

good.# 可匹配 good.abc good.log

#.log 可匹配 abc.log good.log

good.log 可匹配 good.log

SpringBoot 中的使用

声明该对象

@Autowired
private RabbitTemplate rabbitTemplate;

调用该对象的rabbitTemplate.convertAndSend(路由信息(String),数据对象(Object));

在另一处监听并接收处理消息

@RabbitListener(queues = 路由信息(String))

注解标明这是个rabbitmq监听类,然后在这个类中使用@RabbitHandler注解表明处理消息的函数

@RabbitHandler
public void executeMsg(数据对象(Object))
{
    //业务处理
    Object.fun()....
}

注意 路由信息要一致,数据对象类型要一致

发布了8 篇原创文章 · 获赞 1 · 访问量 171

猜你喜欢

转载自blog.csdn.net/weixin_43925277/article/details/104328021
今日推荐