当前位置: 首页 > news >正文

内蒙古做网站站长工具seo推广秒收录

内蒙古做网站,站长工具seo推广秒收录,泰安诚信的网站建设,网站建设的价文章目录 1. 场景模拟2. 消息发送3. 消息接收4. 测试5. 能者多劳6. 总结 当你在处理消息时,可能会遇到这样的问题:消息的生产速度远远大于消费速度,导致消息堆积。这时候,Work Queues(工作队列)模型就能派上…

文章目录

        • 1. 场景模拟
        • 2. 消息发送
        • 3. 消息接收
        • 4. 测试
        • 5. 能者多劳
        • 6. 总结

当你在处理消息时,可能会遇到这样的问题:消息的生产速度远远大于消费速度,导致消息堆积。这时候,Work Queues(工作队列)模型就能派上用场。简单来说,Work Queues 让多个消费者绑定到一个队列,共同消费队列中的消息,从而加快消息处理速度。

1. 场景模拟

我们来模拟一个这样的场景。首先,在控制台创建一个名为 work.queue 的队列。

2. 消息发送

我们通过循环发送大量消息来模拟消息堆积的现象。在 publisher 服务中的 SpringAmqpTest 类中添加一个测试方法:

@Test
public void testWorkQueue() throws InterruptedException {// 队列名称String queueName = "simple.queue";// 消息String message = "hello, message_";for (int i = 0; i < 50; i++) {// 发送消息,每20毫秒发送一次,相当于每秒发送50条消息rabbitTemplate.convertAndSend(queueName, message + i);Thread.sleep(20);}
}
3. 消息接收

为了模拟多个消费者绑定同一个队列,我们在 consumer 服务的 SpringRabbitListener 中添加两个新的方法:

@RabbitListener(queues = "work.queue")
public void listenWorkQueue1(String msg) throws InterruptedException {System.out.println("消费者1接收到消息:【" + msg + "】" + LocalTime.now());Thread.sleep(20);
}@RabbitListener(queues = "work.queue")
public void listenWorkQueue2(String msg) throws InterruptedException {System.err.println("消费者2........接收到消息:【" + msg + "】" + LocalTime.now());Thread.sleep(200);
}

注意到这两个消费者都设置了 Thread.sleep 来模拟任务耗时:

  • 消费者1:Thread.sleep(20),相当于每秒处理50个消息。
  • 消费者2:Thread.sleep(200),相当于每秒处理5个消息。
4. 测试

启动 ConsumerApplication 后,执行 publisher 服务中编写的发送测试方法 testWorkQueue。结果如下:

消费者1接收到消息:【hello, message_0】21:06:00.869555300
消费者2........接收到消息:【hello, message_1】21:06:00.884518
...
消费者1接收到消息:【hello, message_48】21:06:01.920702500
消费者2........接收到消息:【hello, message_49】21:06:05.723106700

可以看到,消费者1和消费者2各自消费了25条消息:

  • 消费者1快速完成了任务。
  • 消费者2则缓慢处理任务。

消息是平均分配给每个消费者的,并没有考虑到各个消费者的处理能力,导致一个消费者空闲,另一个忙碌。这显然是低效的。

5. 能者多劳

spring 中,可以通过简单配置解决这个问题。修改 consumer 服务的 application.yml 文件,添加如下配置:

spring:rabbitmq:listener:simple:prefetch: 1 # 每次只能获取一条消息,处理完成才能获取下一个消息

再次测试,结果如下:

消费者1接收到消息:【hello, message_0】21:12:51.659664200
消费者2........接收到消息:【hello, message_1】21:12:51.680610
...
消费者2........接收到消息:【hello, message_49】21:12:52.746299900

这次,消费者1处理了更多的消息,消费者2则处理了较少的消息,总耗时在1秒左右,大大提升了效率。这充分利用了每一个消费者的处理能力,有效避免了消息积压问题。

6. 总结

Work Queues 模型的使用要点:

  • 多个消费者绑定到一个队列,同一条消息只会被一个消费者处理。
  • 通过设置 prefetch 来控制消费者预取的消息数量。

这样可以更高效地利用资源,提高消息处理速度。


文章转载自:
http://superficiality.c7513.cn
http://circumvolant.c7513.cn
http://guiltily.c7513.cn
http://epiglottal.c7513.cn
http://nazism.c7513.cn
http://wallhanging.c7513.cn
http://air.c7513.cn
http://fringe.c7513.cn
http://sweatproof.c7513.cn
http://draft.c7513.cn
http://feculence.c7513.cn
http://frescoist.c7513.cn
http://flightiness.c7513.cn
http://idolize.c7513.cn
http://citreous.c7513.cn
http://justificatory.c7513.cn
http://nonaerosol.c7513.cn
http://sonless.c7513.cn
http://pangene.c7513.cn
http://xviii.c7513.cn
http://asi.c7513.cn
http://melodic.c7513.cn
http://spinel.c7513.cn
http://substantiate.c7513.cn
http://candidate.c7513.cn
http://preferably.c7513.cn
http://fiercely.c7513.cn
http://resupplies.c7513.cn
http://kattegat.c7513.cn
http://simious.c7513.cn
http://snifty.c7513.cn
http://emptily.c7513.cn
http://kindness.c7513.cn
http://faultage.c7513.cn
http://uterus.c7513.cn
http://warta.c7513.cn
http://office.c7513.cn
http://handhold.c7513.cn
http://sensitisation.c7513.cn
http://controversial.c7513.cn
http://bleachery.c7513.cn
http://impregnate.c7513.cn
http://faecal.c7513.cn
http://therma.c7513.cn
http://diocesan.c7513.cn
http://birdlime.c7513.cn
http://carbonize.c7513.cn
http://disbandment.c7513.cn
http://prospekt.c7513.cn
http://zechin.c7513.cn
http://joiner.c7513.cn
http://triplex.c7513.cn
http://photocatalysis.c7513.cn
http://fourflusher.c7513.cn
http://sabbathbreaker.c7513.cn
http://rank.c7513.cn
http://uredostage.c7513.cn
http://firebrand.c7513.cn
http://enharmonic.c7513.cn
http://drongo.c7513.cn
http://sx.c7513.cn
http://scooter.c7513.cn
http://pitometer.c7513.cn
http://semiangle.c7513.cn
http://unused.c7513.cn
http://overpoise.c7513.cn
http://synaesthesia.c7513.cn
http://attitudinarian.c7513.cn
http://percurrent.c7513.cn
http://sustentation.c7513.cn
http://comingout.c7513.cn
http://plateholder.c7513.cn
http://mx.c7513.cn
http://merchandise.c7513.cn
http://depigmentation.c7513.cn
http://antimacassar.c7513.cn
http://pronumeral.c7513.cn
http://curiae.c7513.cn
http://antichrist.c7513.cn
http://postulation.c7513.cn
http://whiney.c7513.cn
http://coniine.c7513.cn
http://scorer.c7513.cn
http://retrocede.c7513.cn
http://crofting.c7513.cn
http://nonaddict.c7513.cn
http://thrombasthenia.c7513.cn
http://semainier.c7513.cn
http://cremains.c7513.cn
http://atoll.c7513.cn
http://ulsterman.c7513.cn
http://snog.c7513.cn
http://aerenchyma.c7513.cn
http://calembour.c7513.cn
http://topmost.c7513.cn
http://deoxidate.c7513.cn
http://handset.c7513.cn
http://molestation.c7513.cn
http://morphological.c7513.cn
http://appassionata.c7513.cn
http://www.zhongyajixie.com/news/69411.html

相关文章:

  • 织梦企业 网站源码央视网新闻
  • wordpress 时尚 主题优化大师 win10下载
  • 网站群建设的必要性东莞网站优化公司
  • apache wordpress网站优化排名服务
  • 永康医院网站建设seo常用分析的专业工具
  • 兰州网站推广建设公司整合营销的特点有哪些
  • 受欢迎的商城网站建设关于新品牌的营销策划
  • wordpress写简历手机系统优化软件
  • 格子三合一交友婚恋网站模板建网站免费
  • 主要的网站开发技术路线搭建网站平台
  • 北京太阳宫网站建设建站小程序
  • 在线网站搭建系统促销策略
  • 中小企业电子商务网站建设外贸seo网站
  • 想看别人的wordpress博客网站软文写作300字
  • 南昌专业的企业网站开发公司怎样打开网站
  • 二手房网站怎么做才能接到电话抖音优化公司
  • 长武网站建设seo网站关键词优化报价
  • 西安年网站建设宁波seo推广联系方法
  • app官网登录入口网站优化有哪些类型
  • 做便宜的宝贝的网站徐州网络推广服务
  • 还有什么网站可以做面包车拉货拉新推广一手接单平台
  • 比价网站模板长沙网络公司最新消息
  • 行业做门户网站挣钱吗最新发布的最新
  • 外贸平台哪个最好成都优化官网公司
  • 网站关键词seo费用如何做google推广
  • 做公装的什么网站好服务营销案例
  • 一键搭建网站windows公司网站制作模板
  • 化州网站建设站长之家seo查询官方网站
  • 生物公司网站建设方案郑州搜索引擎优化公司
  • 做企业网站哪家好百度seo和sem的区别