zoukankan      html  css  js  c++  java
  • RabbitMQ中Queue详细介绍

    新建队列

    新建Queue时有很多参数,都代表什么含义,在这里解释一下:

    前述:Rabbit版本为3.7.6 ErLang 版本为 21.0.1

    Name

    必填项,队列的名字,建议格式可以为多个字段,表示队列中存放的内容,比如task.queue

    Durability

    是否需要持久化,有两个选项Durable(长久的)和Transient(临时的)

    Auto delete

    是否自动删除,如果选择yes,则消息会被其中一个消费者所消费,之后队列会自动销毁,其他消费者也会断开连接(队列都没了,连接肯定断了)。

    Arguments

    RabbitMQ有很多的参数可以设置

    x-message-ttl:值为Number类型,表示消息在队列中的存活时间,单位为毫秒

    x-expires:值为Number类型,表示队列存在的时间,单位为毫秒

    x-max-length:值为Number类型,一个队列中能够存放的最多消息个数,超过设定个数之后就会从head开始丢弃消息。也就是先到的消息会先被丢弃。

    x-max-length-bytes:值为String类型,队列中每个消息的最大字节数,超过设定个数之后就会从head开始丢弃消息。也就是先到的消息会先被丢弃。

     x-overflow:值为String类型,设置队列溢出时的行为,可选值为drop-head或reject-publish

    x-dead-letter-exchange:值为String类型,如果消息被拒绝或者过期后,消息被重新放入的exchange名称

    x-dead-letter-routing-key:值为String类型,当消息dead-lettered,根据routing key 进行路由消息,如果没有设置,会使用消息的原始routing key

    x-max-priority:值为Number类型,最大的消息优先级,如果不设置,则不支持消息优先级

    x-queue-mode:值为String类型,如果设为lazy,则会将尽可能多的消息保存到磁盘上,减少内存的使用,如果不设置,则所有消息都放到内存,保证最快速度的分发

    x-queue-master-locator:值为String类型,当在集群中时,设置队列为master location mode,会决定队列master在集群中的位置

     

     

    遗留问题:

    rabbitMQ与kafka的对比

    SpringMVC如何支持RabbitMQ(web.xml配置)

     listener中如果处理消息时出现异常,为什么会不停消费同一条消息

    参考文献:

    https://www.rabbitmq.com/documentation.html

    https://www.rabbitmq.com/getstarted.html

    https://www.cnblogs.com/frankyou/p/5283539.html

    https://blog.csdn.net/u012758088/article/details/78024581

    http://www.amqp.org/

  • 相关阅读:
    什么是评审
    缺陷识别与缺陷跟踪
    白盒测试用例设计
    黑盒测试用例设计(二)
    黑盒测试用例设计技术
    Mysql基础
    JS函数
    SpringBoot整合JPA
    Python中的保留字
    操作系统的发展史
  • 原文地址:https://www.cnblogs.com/yaochc/p/9273321.html
Copyright © 2011-2022 走看看