RabbitMQ控制台如何新建一个Exchange
Exchange 有四种类型:direct、topic、fanout、headers
Direct :交换机会将消息中的Routing key与该Exchange所有Binding中的Routing key进行匹配,如果相等,就发送到该Binding对应的Queue中。
Fanout :交换机会将接收到的消息发送给所有与之绑定的队列。
Topic :将消息中的Routing key与该Exchange所有Binding中的Routing key进行匹配,匹配成功发送到该Binding对应的Queue中。routingKey必须是由点隔开的一系列的标识符组成(根据消息的特性以.隔开)。
-
*
匹配一个标识符 -
#
匹配0个或多个标识符
Headers :分发消息不依赖路由键,使用发送消息basicProperties对象中的headers来匹配的,将消息中的headers与该交换机中所有Binding中的参数进行匹配。
RabbitMQ控制台创建Direct 类型的exchange
控制台Exchanges下面:Add a new Exchange
点击Add exchange保存,创建成功,如下图:
Exchange 属性说明:
-
Virtual host:属于哪个Virtual host。(如果有多个Virtual host的有此属性,一般默认的Virtual host是"/",Virtual host可以做最小粒度的权限控制。)
-
Name:名字,同一个Virtual host里面的Name不能重复。
-
Durability: 是否持久化 (Durable:持久化,Transient:不持久化)。
-
Auto delete:当最后一个绑定(队列或者exchange)被unbind之后,该exchange自动被删除。
-
Internal: 是否是内部专用exchange,是的话,就意味着我们不能往该exchange里面发消息。
-
Arguments: 参数,是AMQP协议留给AMQP实现做扩展使用的。alternate_exchange配置的时候,exchange根据路由路由不到对应的队列的时候,这时候消息被路由到指定的alternate_exchange的value值配置的exchange上。
基本概念了解
Connection:与RabbitMQ服务器的连接
Exchange :交换机
Channel:与Exchange的连接
routing key:路由键,生产者发送消息的时候可以带上路由键发送给交换器
BindingKey:绑定键,交换机与队列之间的绑定关系
broker:服务器端
binding:队列和交互机的根据路由键映射的关系