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;
}