RabbitMQ如何实现消费端限流

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

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

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

接着进行限流配置:

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

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

完整代码:

相关推荐
他们叫我阿冠44 分钟前
Kafka的基本了解
分布式·kafka
Amy187021118231 小时前
分布式光伏并网新规落地在即,一套监控系统如何打通“四可”合规与收益优化的双重关卡?
分布式
超梦dasgg2 小时前
Java 生产环境分布式定时任务全解(实战落地版)
java·开发语言·分布式
汪小哥3 小时前
kafka 初识
分布式·kafka
Shan12053 小时前
分布式锁的优势与互斥性
分布式
段一凡-华北理工大学3 小时前
工业领域的Hadoop架构学习~系列文章18:制造业Hadoop应用实践 - 从数据到智能的完整闭环
大数据·人工智能·hadoop·分布式·学习·架构·高炉炼铁
暗夜猎手-大魔王3 小时前
转载--Hermes Agent 企业级分布式部署方案
分布式
huipeng9263 小时前
企业级微服务开发实战(二):微服务基础设施搭建与中间件部署
java·redis·mysql·spring cloud·微服务·nacos·rabbitmq
heimeiyingwang4 小时前
【架构实战】日志体系设计:从ELK到可观测性的演进
分布式·缓存·架构
段一凡-华北理工大学4 小时前
工业领域的Hadoop架构学习~系列文章17:Hadoop性能调优- 调度集群每一分性能
大数据·人工智能·hadoop·分布式·学习·架构·高炉炼铁