springboot 集成 RabbitMQ

**

springboot 集成 RabbitMQ

**

简介:RabbitMQ概念及下载安装

在这里插入图片描述

  • 上图演示的是消息队列(MQ)的三个基本组成部分,生产者发消息到消息队中去,消费者监听指定的消息队列,并且当消息队列接收到消息后,接收队列传来的消息,并做相应的处理。

在这里插入图片描述
(此图来源于网络)

  • 上图演示的是RabbitMQ的四个基本组成部分,除了MQ三个基本模块以外,还添加了一个模块,即交换机(Exchange).它使得生产者和消息队列之间产生了隔离,生产者将消息发送给交换机,而交换机则根据调度策略把相应的消息转发给对应的消息队列。
  • 交换机有四种类型,分别为Direct,topic,headers,Fanout。
    1.Direct Exchange:direct 类型的行为是"先匹配, 再投送". 即在绑定时设定一个 routing_key, 消息的routing_key 匹配时, 才会被交换器投送到绑定的队列中去(最简单)。
    2.Topic Exchange:按规则转发消息,转发消息主要是根据通配符。 在这种交换机下,队列和交换机的绑定会定义一种路由模式,那么,通配符就要在这种路由模式和路由键之间匹配后交换机才能转发消息(最灵活)。
    在这种交换机模式下:
    路由键必须是一串字符,用句号(.) 隔开。
    路由模式必须包含一个 星号(),主要用于匹配路由键指定位置的一个单词,比如说,一个路由模式是这样子:agreements…b.,那么就只能匹配路由键是这样子的:第一个单词是 agreements,第四个单词是 b。 井号(#)就表示相当于一个或者多个单词,例如一个匹配模式是agreements.eu.berlin.#,那么,以agreements.eu.berlin开头的路由键都是可以的。
    具体代码发送的时候还是一样,第一个参数表示交换机,第二个参数表示routing key,第三个参数即消息。如下:
    rabbitTemplate.convertAndSend(“testTopicExchange”,“key1.a.c.key2”, " this is RabbitMQ!");
    topic 和 direct 类似, 只是匹配上支持了"模式", 在"点分"的 routing_key 形式中, 可以使用两个通配符:
    *表示一个词,#表示零个或多个词。
    3.Headers Exchange:设置header attribute参数类型的交换机。headers 也是根据规则匹配, 相较于 direct 和 topic 固定地使用 routing_key , headers 则是一个自定义匹配规则的类型.
    在队列与交换器绑定时, 会设定一组键值对规则, 消息中也包括一组键值对( headers 属性), 当这些键值对有一对, 或全部匹配时, 消息被投送到对应队列.
    4.Fanout Exchange:转发消息到所有绑定队列 消息广播的模式,不管路由键或者是路由模式,会把消息发给绑定给它的全部队列,如果配置了routing_key会被忽略。

springboot集成RabbitMQ

  • 配置pom包:(发送者和接收者配置一样)
    在这里插入图片描述
  • 配置文件:(发送者和接收者配置一样)
    在这里插入图片描述
  • 创建队列:
    在这里插入图片描述
  • 接收者:
    在这里插入图片描述
  • 发送者:
    在这里插入图片描述
  • 测试:
    在这里插入图片描述
  • 双击【“rabbitmq-server”文件】连接http://127.0.0.1:15672,不清楚可以点击简介处连接。输入账号密码,启动接收端,启动发送端。
    发送端控制台:
    在这里插入图片描述
    接收端控制台:
    在这里插入图片描述
    到此,一个最简单的应用就完成了。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值