RabbitMQ的Queue、Exchange和Binding含义和关系

1、从AMQP协议可以看出,Queue、Exchange和Binding构成了AMQP协议的核心
Producer
消息生产者,即投递消息的程序
Broker
消息队列服务器实体
  Exchange消息交换机,它指定消息按什么规则,路由到哪个队列
  Binding绑定,它的作用就是把Exchange和Queue按照路由规则绑定起来
  Queue消息队列载体,每个消息都会被投入到一个或多个队列
Consumer:消息消费者,即接受消息的程序

2、Exchange的三种主要类型:Fanout、Direct和Topic
2.1、FanoutExchange会忽略RoutingKey的设置,直接将Message广播到所有绑定的Queue中
2.2、DirectExchange是RabbitMQ默认的Exchange,完全根据RoutingKey来路由消息。设置Exchange和Queue的Binding时需指定RoutingKey(一般为QueueName),发消息时也指定一样的RoutingKey,消息就会被路由到对应的Queue
2.3、TopicExchange和DirectExchange类似,也需要通过RoutingKey来路由消息,区别在于DirectExchange对RoutingKey是精确匹配,而TopicExchange支持模糊匹配。分别支持*和#通配符,*表示匹配一个单词,#则表示匹配没有或者多个单词
2.4、HeadersExchange会忽略RoutingKey而根据消息中的Headers和创建绑定关系时指定的Arguments来匹配决定路由到哪些Queue HeadersExchange的性能比较差,而且DirectExchange完全可以代替它,所以不建议使用
2.5、DefaultExchange是一种特殊的DirectExchange,当你手动创建一个队列时,后台会自动将这个队列绑定到一个名称为空的DirectExchange上,绑定RoutingKey与队列名称相同。有了这个默认的交换机和绑定,使我们只关心队列这一层即可,这个比较适合做一些简单的应用
 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值