文章目录
RabbitMQ 相关名词:
ConnectionFactory(连接管理器):应用程序与Rabbit之间建立连接的管理器,程序代码中使用。
Connection:与RabbitMQ服务器的连接
Exchange :交换机
Channel(信道):消息推送使用的通道。与Exchange的连接
Queue(队列):用于存储生产者的消息。
Routing Key:路由键,生产者发送消息的时候可以带上路由键发送给交换器
Binding Key:绑定键,交换机与队列之间的绑定关系
Broker:服务器端
Binding:队列和交互机的根据路由键映射的关系
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中的参数进行匹配。
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上。
新建Exchange
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/155749.html