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

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

相关推荐
Dontla1 天前
aio-pika介绍(基于asyncio的Python异步消息队列客户端,用于操作RabbitMQ,并实现对AMQP协议支持)
python·rabbitmq·ruby
_F_y1 天前
仿RabbitMQ实现消息队列-服务端核心模块实现(3)
c++·算法·rabbitmq
冷小鱼3 天前
消息队列(MQ)技术全景科普:从选型到AI+未来
人工智能·kafka·rabbitmq·rocketmq·mq·pulsar
_F_y3 天前
仿RabbitMQ实现消息队列-服务端核心模块实现(2)
网络·rabbitmq
io无心3 天前
SpringAMQP
rabbitmq·springamqp
fengxin_rou4 天前
RabbitMQ安装教程:windows本地安装和docker部署
java·分布式·后端·rabbitmq
Albert Edison4 天前
【RabbitMQ】RPC 通信(使用案例)
分布式·rpc·rabbitmq
weixin_419658315 天前
RabbitMQ 的高级特性
java·分布式·rabbitmq
_F_y5 天前
仿RabbitMQ实现消息队列-服务端核心模块实现(1)
分布式·rabbitmq
.柒宇.5 天前
RabbitMQ入门教程
分布式·rabbitmq