Rabbitmq交换机详解

2020-07-28 15:39:41 浏览数 (1)

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 所以该模式的速度是最快的 只要和交换机绑定的那么消息就会 被分发到与之绑定的队列上

0 人点赞