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会将消息路由到每个绑定的队列

相关推荐
周末也要写八哥20 小时前
分布式技术之单机锁
分布式
Shan12051 天前
浅谈:分布式锁的系统分类
分布式
阿文的代码库1 天前
干货分享——分布式锁的典型案例
分布式
珠***格1 天前
实操落地|防逆流装置的安装规范、调试标准与故障处置
网络·数据库·人工智能·分布式·能源·边缘计算
国科安芯1 天前
国科安芯推出商业航天级抗辐照全双工 RS485/422 收发器 ASC491S2Y
网络·分布式·单片机·架构·安全性测试
zzz_23681 天前
【RabbitMQ】面试系列 · 第一期:基础认知与选型实战
分布式·面试·rabbitmq
SilentSamsara1 天前
Python 微服务全链路:gRPC + 链路追踪 + 服务网格接入
开发语言·分布式·python·微服务·架构
zzz_23681 天前
【Redis】分布式锁完整演进
数据库·redis·分布式
AI人工智能+电脑小能手1 天前
【大白话说Java面试题 第99题】【Mysql篇】第29题:如何选择合适的分布式主键方案?
java·数据库·分布式·mysql·面试
happyprince1 天前
11-Hugging Face Transformers 分布式与并行系统深度分析
分布式·c#·wpf