RabbitMQ——5、路由Routing

一、binding绑定

在上一节中我们已经见过绑定的例子了:

channel.queueBind(queueName,EXCHANGE_NAME,"");

绑定的作用是将特定队列链接到特定交换机上,可以简单地理解为:这个队列对该交换机的消息感兴趣。

绑定可以携带一个额外的routingKey(或bindingKey)参数,即queueBind的最后一个“”参数:

channel.queueBind(queueName,EXCHANGE_NAME,"blank");

绑定键的意义取决于交换机类型,在fanout类型中,绑定键的值会被忽略。

二、Direct Exchange 直连交换机

fanout交换机只是盲目地将接受到的消息广播到所有绑定的队列,如果想要做分流处理,即按照消息的特征将消息发送到特定的绑定队列,那么就需要使用direct交换机。其中,特征就是指routingKey(bindingKey)。

如下图所示,路由键orange绑定到了Q1,而black、green绑定到了Q2.这样,消息中路由键为orange的消息将会被路由到Q1,带有black和green的将会被路由到Q2.

direct_exchange

三、Multi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,您想了解如何配置 RabbitMQ 的队列和路由routing)吗?我可以为您提供一些基本信息。 首先,队列是消息的缓存区,用于存储等待被消费者处理的消息。在 RabbitMQ 中,可以通过 AMQP 协议定义和管理队列。 在创建队列时,您可以指定队列的名称、持久性、自动删除等属性。例如,以下是一个创建名为 "my_queue" 的持久性队列的示例: ``` channel.queueDeclare("my_queue", true, false, false, null); ``` 接下来是路由routing)。在 RabbitMQ 中,路由是用于将消息从一个交换机(exchange)发送到一个或多个队列的机制。交换机可以将消息分发到多个队列,而队列则可以绑定到多个交换机。 您可以使用不同类型的交换机来实现不同的路由策略。例如,使用 direct 类型的交换机可以将消息通过指定的路由键(routing key)发送到与该键相匹配的队列。以下是一个使用 direct 类型交换机发送消息的示例: ``` String exchangeName = "my_exchange"; String routingKey = "my_routing_key"; String message = "Hello, RabbitMQ!"; channel.basicPublish(exchangeName, routingKey, null, message.getBytes()); ``` 以上示例将消息发送到名为 "my_exchange" 的交换机,并使用 "my_routing_key" 作为路由键。接收者可以使用相同的路由键将队列绑定到交换机,以便接收该消息。 希望这些信息能够帮助您了解 RabbitMQ 中队列和路由的基本配置。如果您有任何其他问题,请随时提问!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值