队列的arguments
队列在declare时可以设置一个args集合,用来定义queue的一些属性。
名字 | key | 说明 |
---|---|---|
messageTTL | x-message-ttl | 参数的value是一个毫秒单位的数字,但是要注意太大的数字可能会导致失效,该参数也可以用在发送消息时作为properties添加,对单条信息设置过期时间 |
auto expire | x-xipires | value是毫秒单位的数字,表示队列自动删除前的空闲等待时间 |
Max length | x-max-length | 设置队列中可以拥有的消息的数量,超过这个数量将会从队列头开始丢弃、若有死信exchange,则会推送到dlx中 |
Max length btyes | x-max-length-bytes | value是单位byte的数字,表示队列能存储最多多少大小的信息。和maxlength作用相同,一个是个数,一个是大小,两个同时可用,先到达哪个限制都可以开始生效,同样是超过队列大小限制后,从队列头开始丢弃消息 |
overflow behavior | x-overflow | value是{“drop-head”,”reject-publish”,”reject-publish-dlx”},如果队列是quorum类型的则只能是“drop-head” |
dead letter exchange | x-dead-letter-exchange | value是死信交换器的名字,当队列中的消息1.被消费者basic.reject/nack,requeue设置为false时,消息会推送到DLX中;2.消息过期;3.队列overflow之后(此时x-overflow=“drop-head”) |
dead letter routing key | x-dead-letter-routing-key | value是一个路由键,在消息发送到死信交换器时会使用该路由键,如果不设置,则使用消息的原来的路由键值。 |
single active consumer | x-single-active-consumer | value 是true、false,表示队列是否是单一活动消费者,true时,注册的消费组内只有一个消费者消费消息,其他被忽略,false时消息循环分发给所有消费者(默认false) |
maximum priority | x-max-priority | value是一个数字(010),表示队列中的消息优先级属性的分级,开启了priority的队列,在发送消息到该类队列时可以设置message属性:priority的大小(默认不开启) |
lazy mode | x-queue-mode | value是{“default”,“lazy”},默认模式是消息尽量维护在内存中,lazy模式则会尽早的把内存中的消息持久化到磁盘上,减小内存开销 |
master locator | x-queue-master-locator | 在集群模式下设置镜像队列的主节点信息:1.random:随机一个节点作为主节点;2.min-masters:表示主节点配置在拥有最少主节点的集群节点上;3.client-local使用与client向连接的集群节点作为主节点 |
https://blog.csdn.net/baidu_33581764/article/details/98612306
作者:wifiLIu
链接:https://www.jianshu.com/p/21620cdae040
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。