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

相关推荐
scc21402 小时前
kafka学习-02
分布式·学习·kafka
xidianjiapei0012 小时前
Kafka Transactions: Part 1: Exactly-Once Messaging
分布式·kafka·消息系统·exactly-once语义·精确一次语义
zmd-zk2 小时前
kafka生产者和消费者命令的使用
大数据·分布式·学习·kafka
Francek Chen4 小时前
【大数据分析&深度学习】在Hadoop上实现分布式深度学习
人工智能·hadoop·分布式·深度学习·数据分析
雪碧聊技术5 小时前
RabbitMQ5:Fanout交换机、Direct交换机、Topic交换机
网络·rabbitmq·fanout交换机·direct交换机·topic交换机
是棍子啊5 小时前
消息队列&Kafka
分布式·kafka
猫猫不是喵喵.5 小时前
分布式搜索引擎Elasticsearch(一)
分布式·搜索引擎·微服务
W@Lucky5 小时前
谷粒商城篇章12--P326-P339--Sentinel/Sleuth+Zipkin服务链路追踪【分布式高级篇九】
分布式·sentinel·sleuth·链路追踪·zipkin·熔断降级限流
肾透侧视攻城狮6 小时前
网络空间安全之一个WH的超前沿全栈技术深入学习之路(11)——实战之DNMAP 分布式集群执行大量扫描任务:就怕你学成黑客啦!
分布式·学习·安全·web安全·网络安全·安全威胁分析·可信计算技术
acrel___wy6 小时前
分布式光伏与储能协调控制策略的应用分析
分布式