Rabbitmq交换机详解

rabbitmq交换机

1.作用:

接受生产者的消息,然后根据路由键routingKey把消息投递到跟交换机绑定的对应的队列上

2.属性

Name: 交换机的名称
Type: 交换机的类型,direct,topic,fanout,headers
Durability :是否需要持久化
autodelete:假如 没有队列绑定到该交换机,那么该交换机会自动删除
Internal: 当前交换机是否用户rabbitmq内部使用不常用,默认为false
Argurements: 扩展参数,用户扩展AMQP 定制化协议

3.类型

1.直连交换机:direct exchange

所发送的direct exhchange 的消息都会被投递到与exchange和queue绑定的routingKey名称相同的那个exchage-queue上
**:direct模式下,可以使用rabbitmq自定exchange----> default  exchange  所以不需要交换机和任何队列绑定,
消息将会投递到routingKey名称和队列名称相同的队列上

2.主题交换机 TopicExchange

就是在队列上绑到top 交换机上的routingKey ,可以是通过通配符来匹配的

通配符的规则是
   比如:  log.#  :可以匹配一个单词  也可以匹配多个单词   比如  log.#  可以匹配log.a   log.a.b,即以log开头的都可以

             #.order:可以匹配project1.order,也可以匹配project2.order的消息,即以order结尾的都可以


        log.*   可以匹配一个单词   比如 log.*  可以匹配log.a  但是不可以匹配log.a.b

3.扇形交换机(fanout exchange)

就是消息通过从交换机到队列上不会通过路由key  所以该模式的速度是最快的  只要和交换机绑定的那么消息就会
被分发到与之绑定的队列上

猜你喜欢

转载自blog.csdn.net/qq_27471405/article/details/107448989