x-max-length:队列最大容纳消息条数 大于设置条数的时候会把,消息队列头部(先进入消息)的消息移除
x-max-length-bytes:队列最大容量消息内存容量
服务端限流
内存控制流量:40% Conn vm_memory_high_watermark
磁盘控制:30% disk_free_limit.relative 相对磁盘
disk_free_limit.absolute=2G 绝对磁盘
消费者限流:消息缓存 或者处理时间过长 希望在一定数量消息处理之前不接受消息 进行限流
prefetchCount 一次请求设置条数,没处理完 消费者不再接收
public SimpleMessageListenerContainer get(){
SimpleMessageListenerContainer container=new SimpleMessageListenerContainer();
container.setConcurrentConsumers(1);//最小消费者数量
container.setMaxConcurrentConsumers(5);//最大消费者数量
container.setDefaultRequeueRejected(false);//是否重回队列
container.setAcknowledgeMode(AcknowledgeMode.AUTO);//签收方式
container.setExposeListenerChannel(true);//允许监听
container.setPrefetchCount(5);//在一个请求中发送给消费者对少条消息
return container;
}