rabbitmq基础-java-3、Fanout交换机

1、简介

Fanout,英文翻译是扇出。

2、 特点

1) 可以有多个队列

2) 每个队列都要绑定到Exchange(交换机)

3) 生产者发送的消息,只能发送到交换机

4) 交换机把消息发送给绑定过的所有队列

5) 订阅队列的消费者都能拿到消息

3、设置队列

4、设置交换机

5、绑定队列

6、设置生产者

java 复制代码
    @Test
    void testSendFanout() {
        String exchangeName = "test.fanout";
        String msg = "hello, everyone!";
        rabbitTemplate.convertAndSend(exchangeName, null, msg);
    }

7、设置消费者

java 复制代码
    @RabbitListener(queues = "fanout.queue1")
    public void listenFanoutQueue1(String msg) throws InterruptedException {
        System.out.println("消费者1 收到了 fanout.queue1的消息----:【" + msg +"】");
    }

    @RabbitListener(queues = "fanout.queue2")
    public void listenFanoutQueue2(String msg) throws InterruptedException {
        System.out.println("消费者2 收到了 fanout.queue2的消息====:【" + msg +"】");
    }

8、测试

9、总结

交换机的作用是什么?

  • 接收publisher发送的消息

  • 将消息按照规则路由到与之绑定的队列

  • 不能缓存消息,路由失败,消息丢失

  • FanoutExchange会将消息路由到每个绑定的队列

相关推荐
quweiie9 小时前
tp8使用rabbitMQ消息队列的示例
消息队列·rabbitmq·thinkphp消息队列
Leo.yuan11 小时前
数据仓库建设怎么做?从源数据到分析报表全流程讲清
大数据·分布式·spark
六点_dn11 小时前
RabbitMQ学习笔记-定义与作用
笔记·学习·rabbitmq
明豆17 小时前
Redis 分布式缓存生产实战
redis·分布式·缓存
阿标在干嘛18 小时前
从单机到分布式:政策快报爬虫系统的三次重构
分布式·爬虫·重构
笨鸟先飞的橘猫18 小时前
游戏后端分布式学习——开篇
分布式·学习·游戏
六bring个六19 小时前
分布式软总线认证模块架构与实现分析
分布式·架构·open harmony
脱胎换骨-军哥2 天前
C++分布式系统设计:从通信引擎到分布式共识
开发语言·c++·分布式
海棠Flower未眠2 天前
SpringBoot 整合 Kafka 高性能消息队列(荣耀典藏版)
分布式·kafka
贺国亚2 天前
模型训练-分布式与GPU调度
分布式·wpf