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发送消息测试");
        }
    }

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

相关推荐
IT机器猫18 小时前
RabbitMQ基础二
java·spring boot·分布式·spring cloud·log4j·rabbitmq·springamqp
水无痕simon18 小时前
3 RabbitMQ基础
分布式·rabbitmq·ruby
番茄炒鸡蛋加糖1 天前
RabbitMQ 全套复盘 + Nacos+ES+MyBatis-Plus 梳理
分布式·rabbitmq
城管不管3 天前
重生——第九次面试2026.8.13某车一面
分布式·ai·面试·职场和发展·rabbitmq
apgk13 天前
基于Canal实现mysql数据同步到消息队列(RabbitMQ/Kafka)详细操作教程
docker·kafka·rabbitmq
Rain的Java大神之路3 天前
MQ重复消费问题怎么解决
java·经验分享·后端·面试·架构·rabbitmq·rocketmq
hard_hot4 天前
RabbitMQ异步下单架构设计
java·rabbitmq·java-rabbitmq
YOU OU5 天前
RabbitMQ运维
java·rabbitmq·java-rabbitmq
霸道流氓气质6 天前
RabbitMQ 延迟队列与死信队列:原理、实现与实战
分布式·rabbitmq·ruby
YOU OU8 天前
RabbitMQ应用问题
分布式·rabbitmq