RabbitMQ基本概念

1:基本概念

 连接:客户端和rabbitmq进行连接

 信道:使用TCP和rabbitmq进行连接的。连接的时候创建一个信道,保证每个线程的私密性。信道是可以重复多用的。

 生产者:就是生产消息,把消息放入到mq中

 消费者:mq把消息发送到指定的消费的地方

 消息:有效的数据。也可能是标签

 交换器:收到消息,根据不同路由键,放入到不同的队列当中

 队列:就消息投递给相对应的消费者

 绑定:就是将交换器和队列进行绑定

 路由键:生产者生产消息的时候,会带上路由键,发送给交换机。

 

2:消息的确认

 消费者必须进行消息的确认(自动确认或手动确认)

 当没有消费者的时候,消息会一直存在rabbitmq中。

 当发送消息的时候,如果mq中没有路由键,消息则会直接丢弃。

 消息一般都是通过轮训的方式发送给消费者的。

 

3:虚拟主机

 就是除了消费者和生产者,将其他的放到一起组成一个虚拟主机,虚拟主机可以有多个,也可以设置权限。生产者将消息发送给虚拟主机,虚拟主机在将消息发送给消费者。

 

4:交换器

  direct:完全匹配。只有完全匹配的队列才能进入。

  fanout:全部发送。不管发送者和路由键是否匹配,进入全部的队列当中。

  topic:路由键中的*和#,A.# 像A.a、A.b都能匹配成功。#匹配多个,*只匹配一个(.分隔多个),路由键使用.分隔的,进入相对应的队列。

  header(direct):是根据headers和交换器进行匹配;数据可以是任何的数据类型;匹配规则x-match = all(全部匹配) any(主要有匹配就行)

 

posted @ 2019-09-22 21:48  陌然浅笑  阅读(223)  评论(0编辑  收藏  举报