5 工作队列

.

1 图解

工作模式

2 代码

url:
	https://github.com/3748/RabbitMq.git

package:
	com.test.rabbitmq.work

3 代码介绍

3.1 引入必须依赖
pom.xml
3.2 获取MQ连接
com.test.rabbitmq.util.ConnectionUtil
3.3 消息消费者1
com.test.rabbitmq.work.WorkConsumer1
3.4 消息消费者2
com.test.rabbitmq.work.WorkConsumer2
3.5 消息生产者
com.test.rabbitmq.work.WorkProducer
3.6 启动生产者
 先将两个消费者启动
 生产50条消息,推送到队列中
 WorkConsumer2中每次获取到消息后都Thread.sleep(1000)休眠一秒
 WorkConsumer1消费的消息要多于WorkConsumer2
 符合能者多劳原则
 如果将消费者中channel.basicQos(1);注释.两个消费者将消费相同数量的消息

4 应用场景

1: 红包
2: 大项目中的资源调度(任务分配系统不需知道哪一个任务执行系统在空闲,直接将任务扔到消息队列中,空闲的系统自动争抢)
3: 可以用来进行负载均衡

5 隐患

高并发情况下,默认会产生某一个消息被多个消费者共同使用,可以设置一个开关(syncronize,与同步锁的性能不一样) 保证一条消息只能被一个消费者使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值