RabbitMQ如何实现消费端限流

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

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

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

接着进行限流配置:

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

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

完整代码:

相关推荐
神所夸赞的夏天19 小时前
RabbitMQ安装过程
分布式·rabbitmq
炸炸鱼.21 小时前
部署Zabbix企业级分布式监控:从零到实战(知识点大全)
分布式·zabbix
phltxy21 小时前
RabbitMQ 常见面试题
分布式·rabbitmq
小二·21 小时前
Redis 7 实战:缓存/消息队列/分布式锁生产级实现
redis·分布式·缓存
小程故事多_8021 小时前
从初代架构到大模型时代,英伟达GPU底层架构演进与核心逻辑深度解析
java·人工智能·分布式·架构
半夜修仙1 天前
RabbitMQ入门概述
java·rabbitmq·java-rabbitmq
Java 码思客1 天前
【Redis分布式缓存实战】第3章 Redis核心机制深度解析
redis·分布式·缓存
码不停蹄的玄黓1 天前
生产可用的 Redis 分布式锁完整实现
数据库·redis·分布式
Deep-w1 天前
【MATLAB】微电网四DG逆变器下垂策略与分布式MPC协同控制仿真分析
开发语言·分布式·算法·matlab
周末也要写八哥1 天前
项目简历:分布式Linux性能分析监控
分布式