springboot整合rabbitmq,及各类型交换机详解

RabbitMQ交换机:

一.交换机的作用

如果直接发送信息给一条队列,而这一消息需要多个队列的的多个消费者共同执行,可此时只会有一个队列的一个消费者接收该消息并处理,其他队列的消费者无法获取消息并执行。所以此时就需要交换机接收消息后,按照规则进行路由转发到绑定的所有队列。

二.交换机类型

RabbitMQ主要有三种类型交换机:

1. Fanout Exchange:广播模式,该交换机将接收到的消息广播到每一个跟其绑定的队列

2. Direct Excahange:定向交换机,把接收到的消息根据规则路由到指定的队列,也就是发送到属于生产者指定的RoutingKey的队列上

  •  消费者需要设置绑定队列和交换机
  • 生产者发布消息是需要指定RoutingKey

3. Topi Exchange:话题交换机,跟DirectExchange类似,区别在于 RoutingKey可以是多个单词列表,且以 . 分割

  •  且可以使用通配符
  • # : 表示0或多个单词
  • * : 表示一个单词 

 springboot整合rabbitmq:

通过SpringAMQP整合springboot以及rabbitmq

一. 导入依赖
<!--AMQP依赖,包含RabbitMQ-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
二. 添加配置yaml 
spring: 
   rabbitmq:
    host: 127.0.0.1  #主机名
    prot: 15672      #端口
    virtual-host: /  #虚拟主机
    username: guest   #用户名
    password: guest   #密码
    listener:   # 任务模型时的接收者配置
      simple:
        prefecth: 1 #每次读取一条消息,处理完成才能获取下一个消息
三,创建生产者

生产者只负责发送消息,不需要声明队列

四,创建消费者

消费者需要声明创建队列和交换以及绑定关系。

有基于bean方式创建,也有基于注解方式创建

但基于bean方式具有缺陷,比如当需要消费多个RoutingKey值的队列时候,就需要一直创建bean

所以常使用基于注解的方式创建

消费者类是一个监听器,通过@Component交由spring控制,然后设置@RabbitListener注解属性实现

 然后直接运行springboot就会自动创建交换机,队列,绑定关系以及RoutingKey

相关推荐

  1. RabbitMQ交换机类型!!!

    2024-02-03 13:56:02       18 阅读
  2. SpringBoot 整合 RabbitMQ

    2024-02-03 13:56:02       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-03 13:56:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-03 13:56:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-03 13:56:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-03 13:56:02       18 阅读

热门阅读

  1. linux下使用swap分区扩展内存

    2024-02-03 13:56:02       31 阅读
  2. 【DouYing Desktop】

    2024-02-03 13:56:02       27 阅读
  3. 鸿蒙设置沉浸式状态栏、全屏、获取导航栏高度

    2024-02-03 13:56:02       115 阅读
  4. json文件缺少的语言key的检测

    2024-02-03 13:56:02       33 阅读
  5. 【Python】requests库的介绍及用法

    2024-02-03 13:56:02       26 阅读
  6. python--第三方包的使用

    2024-02-03 13:56:02       34 阅读
  7. Vue3 vant4 底部tabbar图标如何修改为自定义图片

    2024-02-03 13:56:02       32 阅读
  8. ChatGPT等大模型AI能干什么?

    2024-02-03 13:56:02       26 阅读