一,交换机
在rabbitmq中,生产者发信息不会直接将信息投递到队列中,而是先将信息投递到交换机中,在交换机转发在具体的队列,队列再将信息推送或者拉取消费者进行消费
路由键(Routingkey)
生产者将信息发送给交换机的时候 会指定Routingkey指定路由规则
绑定键(Bindingkey)
通过绑定键将交换机与队列关联起来,这样rabbtamq就知道如何正确的将信息路由到队列
二,交换机类型
直接交换机:Direct exchange
直接交换机的路由算法非常简单:将信息推送到binding key与改信息的routing key相同队列
直接交换机x上绑定了两个队列
第一个队列绑定了绑定键orange 第二个队列有两个绑定键一个black和green
三,主题交换机:Topic exchange
直接交换机的特点:
直连交换机的routing_key方案非常简单,如果我们希望一条消息发送多个队列,那么这个交换机需要绑定上非常多的routing_key
假设每个交换机上都绑定一堆的routing_key连接到各个队列上,那么消息管理就会异常困难
主题交换机的特点:
例题
扇形交换机:Fanout exchange
扇形交换机时最基本的交换机类型 它所能做的事情非常简单 广播消息
扇形交换机会把能接到的消息全部发送给绑定在直接身上的队列 因为广播不需要‘思考’
所以扇形交换机处理的消息的速度是所有交换机类型里最快的
首部交换机:Headers exchange
默认交换机:
实际上是一个由rabbitmq预先声明好的名字为空字符串的直连交换机(direct exchange)
它有一个特殊的属性使得它对于简单应用特别有用处:那就是每个新建队列(queue)都会自动绑定在默认的交换机上,绑定的路由键(routing key)名称与队列名称相同
死信交换机 dead letter exchange
rabbitmq作为一个高级消息中间件 提出了死信交换器的概念
<