已解决
RabbitMQ(高级特性):限流
来自网友在路上 173873提问 提问时间:2023-11-07 20:14:46阅读次数: 73
最佳答案 问答题库738位专家为你答疑解惑
消费端限流
在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);}
}
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"RabbitMQ(高级特性):限流":http://eshow365.cn/6-34692-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 武汉凯迪正大—密度继电器校验仪
- 下一篇: MySQL——Centos7下环境安装