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