带列表的RabbitMQ头交换
我在试图理解类型头交换的工作原理时遇到了一些问题 只有一个交换,myExchange 三个队列:带列表的RabbitMQ头交换,rabbitmq,message-queue,rabbitmq-exchange,Rabbitmq,Message Queue,Rabbitmq Exchange,我在试图理解类型头交换的工作原理时遇到了一些问题 只有一个交换,myExchange 三个队列: myQueue1 myQueue2 myQueue3 绑定: myExchange=>myQueue1(x-match:any,myHeader:[test1]) myExchange=>myQueue2(x-match:any,myHeader:[test2]) myExchange=>myQueue3(x-match:any,myHeader:[test1,test2,test3]) 我希望消息
有没有办法达到这种行为?谢谢你我同意你的评论,我正在努力实现一些目前不受支持的目标。我将使用路由键。为此,我有一个窍门 绑定:
- myExchange=>myQueue1(x-match:any,test1:true)
- myExchange=>myQueue2(x-match:any,test2:true)
- myExchange=>myQueue3(x-match:any,test1:true,test2:true,test3:true)
就性能而言,我不知道什么是最好的。头交换绑定似乎不是这样工作的。在AFAIR中,它们使用严格匹配,所以如果您对某些标头具有数组值,则该数组中的项目位置很重要。也许使用带有(多个)通配符路由键绑定的常规主题交换将更好地为您服务?在您的情况下,使用路由键将有所帮助。主题交换比标题更快。