SpringBoot集成RabbitMQ(使用Docker安装)

1、什么是MQ?

消息总线(Message Queue),是一种跨进程、异步的通信机制,用于上下游传递消息。由消息系统来确保消息的可靠传递。具有应用解耦、异步、流量削锋、数据分发、错峰流控、日志收集等等功能。

2、RabbitMQ整体架构

在这里插入图片描述

RabbitMQ组件

在这里插入图片描述

  • Publisher:消息生产者
  • Exchange:消息交换器,将生产者生产的消息与消息队列进行绑定
    • dirct:消息中的路由键(routing key)如果和Binding中的binding key一致,交换器就将消息发到对应的队列中。路由键与队列名完全匹配。即点对点的方式。
    • fanout:每个发到fanout类型交换器的消息都会分到所有绑定的队列上去。fanout交换器不处理该路由键,只是简单的将队列绑定到交换器上,每个发送到交换器的消息都会被转发到与该交换器绑定的所有队列上。很像子网广播,每台子网内的主机都获得了一份复制的消息。fanout类型转发消息是最快的。即一对多的方式。
    • topic:topic交换器通过模式匹配分配消息的路由键属性,将路由键和某个模式进行匹配,此时队列需要绑定到一个模式上。它将路由键(routing-key)和绑定键(bingding-key)的字符串切分成单词,这些单词之间用点隔开。它同样也会识别两个通配符:"#“和”*"。#匹配0个或多个单词,匹配不多不少一个单词。即通配符的方式。

3、使用Docker安装RabbitMQ

-- 安装RabbitMQ
docker pull daocloud.io/library/rabbitmq:3.6.9-management

--运行RabbitMQ
docker run -d -p 5672:5672  -p 15672:15672 --name myrabbitmq 281ee777b811

成功访问15672端口
在这里插入图片描述

4、添加Exchange

在这里插入图片描述

5、添加Queue并与exchange进行绑定

在这里插入图片描述

6、SpringBoot项目引入RabbitMQ

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>
6.2、在application.properties中配置RabbitMQ相关信息
spring.rabbitmq.host=xxxx
spring.rabbitmq.username=xxx
spring.rabbitmq.password=xxx
6.1、使用RabbitTemplate操作MQ
@Test
	public void sendMsg(){
		rabbitTemplate.convertAndSend("exchange.direct",
				"atguigu",
				"this is direct msg");
	}

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值