AMQP-核心概念-4

本文参考以下链接摘录翻译:

https://www.rabbitmq.com/tutorials/amqp-concepts

绑定 (Bindings)

绑定是交换机用来将消息路由到队列的规则。为了让一个交换机E将消息路由到队列Q,Q必须绑定到E。绑定可以有一个可选属性routing key,有一些类型的交换机会用到该属性。routing key用来从发布到交换机的消息中选出一些消息路由到绑定的队列。换句话说,routing key像一个过滤器。

打个比方:

  • 队列像你在纽约市的目的地
  • 交换机像JFK机场
  • 绑定就是从JFK到你的目的地的路线。可能有0或多条路线到达目的地。

有这一层间接解决了不可能或很难实现的路由场景,如直接发布消息到队列,这也消除了部分应用程序员不得不做的重复工作。

如果一条消息不能被路由到任何队列(例如,比如这条消息被发布到的交换机没有适合它的绑定),它要么被扔掉或者返回给发布者,这由发布者设置的属性决定。

消费者 (Consumers)

消息存储在队列里是没用的,除非应用能消费它们。在AMQP 0-9-1模型,应用有2种方式消费消息:

  • 订阅(Subscribe)让消息推送给消费者("push API"),这是推荐的选项
  • 拉取("pull API"): 这种方式特别低效率,在绝大多数情形,应该避免使用

使用“push API”时,应用必须标识它想从某个特定的队列消费消息。当应用这样做时,我们说应用注册了一个消费者,或者订阅了一个队列。一个队列可以有多个消费者,应用也可以注册为一个排他的消费者(当这个应用消费消息时,其他消费者就不能从该队列消费消息)。

每个消费者(订阅)有一个标识符叫做消费者标签。这个标签可用来取消消息订阅。消费者标签就是字符串。

待续。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值