RabbitMQ中Direct交换机的用法

前言:比如我们的支付完成之后需要进行修改支付状态还要完成短信通知用户需要同时并发两条指令我们可以使用direct交换机进行指定两个不同的业务去完成这两件事

比如我们现在有direct.queue1/direct.queue2两个消息队列,一个direct交换机

我们创建完成两个队列之后需要将交换机进行绑定到对应的队列,绑定时我们需要将key写进去,因为要根据不同的key找到指定的队列去完成不同的消息业务

使用java操作

消费者监听代码

复制代码
    //使用direct交换机进行消息发送
    @RabbitListener(queues = "direct.queue1")
    public void listenDirectQueue1(String msg) throws InterruptedException {
        System.out.println("消费者收到DirectQueue11111111的消息:"+msg);
        Thread.sleep(20);
    }
    @RabbitListener(queues = "direct.queue2")
    public void listenDirectQueue2(String msg) throws InterruptedException {
        System.out.println("消费者收到DirectQueue2222222222222的消息:"+msg);
        Thread.sleep(200);
    }

发送者代码

复制代码
    //使用Direct交换机进行消息转发
    @Test
    void testDirect() {
        String exchangeName = "hmall.direct";
        String msg = "blue";
        rabbitTemplate.convertAndSend(exchangeName, "blue",msg);
    }
相关推荐
岸边的风1 小时前
用Logseq与cpolar:构建开源笔记的分布式协作系统
笔记·分布式·开源
鲸屿1951 小时前
zookeeper
分布式·zookeeper·云原生
你我约定有三1 小时前
分布式微服务--单体架构 ,垂直架构 ,分布式架构 ,SOA ,微服务 以及他们之间的演变过程
分布式·微服务·架构
codergjw10 小时前
RabbitMQ篇
分布式·rabbitmq
半桶水专家10 小时前
Kafka Topic(主题)详解
分布式·kafka
蜡笔小柯南13 小时前
每秒扛住10万请求?RedissonRateLimiter 分布式限流器详解
分布式·redisson·滑动窗口·ratelimiter
一行•坚书14 小时前
Redisson分布式锁会发生死锁问题吗?怎么发生的?
java·分布式·后端
半桶水专家15 小时前
kafka Partition(分区)详解
分布式·kafka
何双新15 小时前
第一讲、Kafka 初识与环境搭建
分布式·kafka·linq
阿登林15 小时前
如何使用Kafka处理高吞吐量的实时数据
分布式·kafka