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

SpringBoot 消息队列RabbitMQ Work模型 绑定多个消费者 负载均衡 消息处理速度

介绍

RabbitMQ 会将消息轮询地分发给所有绑定的消费者。多个消费者能够并发处理消息,提高了处理效率和系统的鲁棒性。

多个消费者

如果有50条消息将会 a1 a2 a1 a2 的方式进行去轮询消费

@RabbitListener(queues ="insert.queue") ///insert.queue 为监听的队列名称
public  void  a1(String msg){ //消息消费
 System.out.println(msg);
 //....其他业务逻辑
}

@RabbitListener(queues ="insert.queue") ///insert.queue 为监听的队列名称
public  void  a2(String msg){ //消息消费
    System.out.println(msg);
    //....其他业务逻辑
}

这种方式消息只能被消费一次

在有的时候可能a1 的消费者处理的快一点,a2处理的慢一点 ,而还是以a1 a2 a1 a2这种方式去轮询速度就慢,希望让消费的快一点的多去处理一些消息就不会造成堵塞

解决方案

spring:
  rabbitmq:
    host: 103.73.160.148
    port: 5673 #通信端口
    virtual-host: /csdn #虚拟主机名称
    username: csdn
    password: 123456
    listener:
      simple:
        prefetch: 1 #每次获取消费一个消息,处理完在获取

这样就可以达到消费能力好的去多处理一些消息,性能差的就去少处理消息。


http://www.kler.cn/news/292605.html

相关文章:

  • 学习记录:js算法(二十五):合并两个有序链表
  • Power Automate向Power Apps传Table数据
  • C++项目引入开源库bit7z
  • ARM SIMD instruction -- movi
  • ccfcsp-202209(1、2、3)
  • Kafka【十一】数据一致性与高水位(HW :High Watermark)机制
  • 企业财务流程优化的财税自动化解决方案
  • Python知识点:如何使用Pytest进行单元测试
  • JVM系列(十) -垃圾收集器介绍
  • OpenObserve云原生可观测平台本地Docker部署与远程访问实战教程
  • KDD2024参会笔记-Day1
  • Core ML
  • 基于.NET6的WPF基础总结(上)
  • CSS学习9
  • RPC框架-RMI
  • OpenHarmony应用开发( Beta5版)利用native方式实现跨线程调用最佳实践
  • nvidia-cuda-tensorrt-cudnn下载网站
  • 【golang】使用container/heap官方包实现一个优先队列
  • 鼠标在虚拟机virtualbox里面不显示/消失,如何解决?
  • Stable Diffusion训练LoRA模型参数详细说明(阿里巴巴堆友AI)
  • List、Set、Map中的方法使用、Stream流、Collections工具类
  • 如何使用 Lua 脚本进行更复杂的网络请求,比如 POST 请求?
  • 一个开源、注重隐私且支持自托管的网站分析工具
  • 数据结构 哈希表 五大排序算法 二分查找(折半查找)
  • GitHub精选|8 个强大工具,助力你的开发和探究工作
  • Android studio 导出 release 版本的 .aar 文件
  • PyTorch 创建数据集
  • 相机检查内参 外参
  • Github Codespaces Cmake项目使用
  • 实战项目十的更新代码