RabbitMQ(高级特性):限流

编程入门 行业动态 更新时间:2024-10-28 20:17:05

RabbitMQ(高级<a href=https://www.elefans.com/category/jswz/34/1769892.html style=特性):限流"/>

RabbitMQ(高级特性):限流

消费端限流

在rabbitmq中,使用消费端限流必须开启手动签收信息

过MQ可以对请求进行“削峰填谷”,即通过消费端限流的方式限制消息的拉取速度,达到保护消费端的目的。

生产者批量发送消息:

@Test
public void testSendBatch() {// 发送十条消息for (int i = 0; i < 10; i++) {rabbitTemplate.convertAndSend("my_topic_exchange", "my_routing", "send message..."+i);}
}

消费端配置限流机制

spring:rabbitmq:host: 192.168.0.162port: 5672username: itbaizhanpassword: itbaizhanvirtual-host: /listener:simple:# 限流机制必须开启手动签收acknowledge-mode: manual# 消费端最多拉取5条消息消费,签收后不满5条才会继续拉取消息。prefetch: 5

消费者监听队列

@Component
public class QosConsumer{@RabbitListener(queues = "my_queue")public void listenMessage(Message message, Channel channel) throws IOException, InterruptedException {// 1.获取消息System.out.println(new String(message.getBody()));// 2.模拟业务处理Thread.sleep(3000);// 3.签收消息channel.basicAck(message.getMessageProperties().getDeliveryTag(), true);}
}

更多推荐

RabbitMQ(高级特性):限流

本文发布于:2023-11-16 07:06:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1614063.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:特性   高级   RabbitMQ   限流

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!