RabbitMQ如何实现消费端限流

什么是消费端限流,这个一种保护消费者的手段,假如说,现在是业务高峰期了,消息有大量堆积,导致MQ消费需要不断的进行消息消费,很容易被打挂,甚至重启之后还是会被大量消息涌入,继续被打挂。

为了解决这个问题,RabbitMQ提供了basicQos的方式来实现消费者端限流。我们可以在消费者指定最大的未确认消息数,当达到这个限制时,RabbitMQ将不再推送新的消息给消费者,直到有一些消息得到确认。

想要实现这个功能,首先需要把自动提交关闭。

接着进行限流配置:

如以上配置,可以实现消费者在处理一条消息后,才会获取下一条消息。

然后再在消费者处理完一条消息之后,手动发送确认消息给到RabbitMQ,这样就可以拉取下一条消息了;

完整代码:

相关推荐
Smoothcloud润云5 小时前
GPU算力平台推荐:新手租GPU时,镜像环境和显存应该怎么选?
大数据·人工智能·pytorch·分布式·深度学习·gpu算力
程序员大阳7 小时前
副队长大数据教程(6)--四节点分布式集群搭建
大数据·分布式·集群·搭建·四节点
马六六i7 小时前
目前知名的分布式Ai数智共享商城哪家好
人工智能·分布式
大鹏说大话8 小时前
分布式事务怎么选型?2PC、TCC、SAGA、本地消息表一次讲清
分布式
Eloudy9 小时前
ASTRA-sim 3.0:通过高保真GPU和基础设施建模进行下一级分布式机器学习模拟
人工智能·分布式·机器学习
泡海椒10 小时前
JQuick-SQL 模块架构:从 SQL AST 到分布式执行
分布式·sql·架构
用户849137175471611 小时前
订单超时未支付自动取消实现方案 | 三种方案详解
redis·面试·rabbitmq
starzy199011 小时前
深度拆解 Kafka 源码:Producer 构造器装配了哪些核心组件
分布式·kafka
程序员大阳12 小时前
副队长大数据教程(7)--Hadoop 集群角色配置逻辑详解
大数据·hadoop·分布式·集群·配置·角色·逻辑
蓝胖的四次元口袋12 小时前
RabbitMQ知识梳理(2)
分布式·rabbitmq