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

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

相关推荐
CV_J9 小时前
RabbitMQ安装
rabbitmq
独自破碎E12 小时前
RabbitMQ怎么实现延迟消息?
rabbitmq
小北方城市网13 小时前
SpringBoot 集成 RabbitMQ 实战(消息队列解耦与削峰):实现高可靠异步通信
java·spring boot·python·微服务·rabbitmq·java-rabbitmq·数据库架构
装不满的克莱因瓶13 小时前
【2026最新 架构环境安装篇三】Docker安装RabbitMQ4.x详细教程
linux·运维·docker·容器·架构·rabbitmq
Chan1617 小时前
【 Java八股文面试 | RabbitMQ篇 】
java·spring boot·spring·面试·java-ee·rabbitmq·java-rabbitmq
小北方城市网18 小时前
SpringBoot 集成 Redis 实战(缓存优化与分布式锁):打造高可用缓存体系与并发控制
java·spring boot·redis·python·缓存·rabbitmq·java-rabbitmq
jonyleek1 天前
告别硬编码:通过逻辑编排引擎的RabbitMQ监听实现灵活自动化
分布式·自动化·rabbitmq·服务编排·逻辑引擎
利刃大大2 天前
【RabbitMQ】延迟队列 && 事务 && 消息分发
分布式·消息队列·rabbitmq·队列
八宝粥大朋友2 天前
rabbitMQ-C 构建android 动态库
android·c语言·rabbitmq
小北方城市网2 天前
SpringBoot 集成消息队列实战(RabbitMQ/Kafka):异步通信与解耦,落地高可靠消息传递
java·spring boot·后端·python·kafka·rabbitmq·java-rabbitmq