RabbitMQ工作队列模式理解

工作队列模式是一个生产者、一个队列,有一个或者多个消费者。

消费者之间竞争消费消息,即队列中的每一条消息只可能被一个消费者消费。

应用场景:对于消息任务很多的情况,可以使用工作队列提高任务处理的速度。

示例:

消费端:增加两个消费者,监听同一个队列:

复制代码
   @Override
    @RabbitListener(queues = {RabbitMqConfig.DIRECT_QUEUE})
    public void receiveMessage(String message) {
        System.out.println("消息者1:获取到的mq消息:"+message);
    }

    @Override
    @RabbitListener(queues = {RabbitMqConfig.DIRECT_QUEUE})
    public void receiveMessage1(String message) {
        System.out.println("消息者2:获取到的mq消息:"+message);
    }

生产端:发送多条消息测试

复制代码
    public static void main(String[] args) {
        ApplicationContext run = SpringApplication.run(ProducerMain.class);
        RabbitMqService rabbitMqService = (RabbitMqService)run.getBean("rabbitMqService");

        for(int i = 0; i < 20; i++){
            rabbitMqService.sendMessage("rabbitmq发送消息测试");
        }
    }

先启动消费端,然后启动生产端,查看消费者的输出:

相关推荐
用户84913717547161 天前
订单超时未支付自动取消实现方案 | 三种方案详解
redis·面试·rabbitmq
蓝胖的四次元口袋1 天前
RabbitMQ知识梳理(2)
分布式·rabbitmq
叶总没有会2 天前
RabbitMQ基础--java客户端
java·rabbitmq·java-rabbitmq
Thomas.Sir2 天前
第31课:微服务消息驱动(RabbitMQ/RocketMQ)适配与解耦实战
微服务·rabbitmq·rocketmq
蓝胖的四次元口袋2 天前
RabbitMQ知识梳理(1)
分布式·rabbitmq
叶总没有会4 天前
MQ基础与使用背景
rabbitmq
墨神谕5 天前
RabbitMQ 从入门到实战:核心原理、消息模型、可靠性机制与 Spring Boot 实战
spring boot·rabbitmq·java-rabbitmq
做个文艺程序员5 天前
MQ第07篇:Java SaaS多租户消息隔离实战:RabbitMQ VHost+RocketMQ Tag+命名空间架构
spring boot·rabbitmq·rocketmq·saas·多租户
j7~5 天前
【仿 RabbitMQ 项目】发布订阅消息队列 (篇九):队列数据管理,内存镜像 + SQLite 持久化实现
数据库·c++·分布式·sqlite·rabbitmq·队列数据管理
此时不提桶,更待何时6 天前
06-23-A-RabbitMQ生态集成详解
分布式·rabbitmq