RabbitMQ--交换机、队列、消息

  • 交换机
    autoDelete:如果设置为true,唯一的一个交换机或者队列解绑,那么该队列将会被自动删除。
    交换机类型:
    faout:经过交换机的消息直接转到所有与这个交换器绑定的队列中,无视rounting key的存在,
    direct:经过交换机的消息rounting key如果和该交换机绑定的队列的bing key完全相同,那么将会转到对应的队列中,可以使用默认的交换器。
    topic:经过交换机的消息rounting key如果和该交换机绑定的队列的bing key符合类似正则匹配,那么将会转到对应的队列中。其中bing key中的*匹配一个单词,而#匹配多个单词,多个是指两个点号即为一个单词。
    header:通过header来进行匹配,交换机与队列绑定时会设置一个键值,消息也会设置键值,如果相同则进入队列。

  • 队列
    autoDelete:如果设置为true,订阅该队列的唯一一个消费者断开了连接,那么该队列将会被自动删除。
    队列的过期时间:如果一个队列没有了消费者,那么可以设置在指定时间后自动被删除。
    durable:队列元信息的持久化,系统重启后,能保证队列元数据不丢失。

  • 消息
    消息过期时间:消息在推送到exchange时,可以设置为一个过期时间,如果时间到了,那么将会成为死信,消费者将不会消费。同样也可以在队列中设置,如果同时设置了的话,那么以较小的为主。
    durable:通过设置消息的持久化,保证系统重启后消息不丢失,但是需要消费者消费完后确认,在服务数据持久化时,会存在将数据从内存到缓冲区到磁盘的过程,如果这段时间宕机,那么会存在数据的丢失,解决该问题的方式为启动rabbitmq镜像集群。

你可能感兴趣的:(MQ)