rabbitmq之routing

本文详细解释了RabbitMQ中routingkey和bindingkey的作用及使用方法。routingkey用于指定消息发送给哪些队列,而bindingkey则用于绑定交换机与队列。通过两者之间的匹配规则,可以实现消息的有效过滤与分配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

routingkey 和 bindingkey

routingkey:producer 发布message 通过basicPublish方法,其中有一个exchange 参数用来指定发送到哪个exchange,一个参数routingkey,用来指定exchange接收到message后,发送给哪个binding在此exchange的queues (queue binding到exchange有个bindingkey 是否与routingkey match),

bindingkey:用来绑定exchange与queues,其中有个一参数bindingkey,用来判断是否bindingkey与routingkey match,match的话,发送到对应的queue。

通过routingkey是否与bindingkey match,来filter message,dispatch message给不同的queues,从而对应不用consumer,也可以用来discard 不match的message。

channel.queueBind(queueName, EXCHANGE_NAME, "black");
black字符就是bindingkey,也叫routingkey

鉴于fanout type的exchange 会忽略routingkey,一般routingkey与direct type exchange一起用。

注意:一个queue,可以通过多个不同的bindingkeys绑定到同一个exchange,这样,发布message的routingkey,满足匹配任一bindingkeys,都会route到此queue。

String queueName = channel.queueDeclare().getQueue();

for(String severity : argv){
  channel.queueBind(queueName, EXCHANGE_NAME, severity);
}

详情及example参照:http://www.rabbitmq.com/tutorials/tutorial-four-java.html、


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值