基于RabbitMQ的选择性路由
我将一些队列绑定到一个主题交换,例如使用路由键:基于RabbitMQ的选择性路由,rabbitmq,amqp,Rabbitmq,Amqp,我将一些队列绑定到一个主题交换,例如使用路由键: 1) big.yellow.rabbit 2) small.*.dog 3) small.*.* 4) *.*.cat 5) *.*.* 我希望RabbitMQ只选择一个队列,通过以下逻辑放置我的消息: 重合标记的数量应尽可能大 第一个标记的一致性比第二个标记的一致性更重要 上述键的示例: big.yellow.rabbit -> 1) small.yellow.rabbit -> 3) small.white.cat -&
1) big.yellow.rabbit
2) small.*.dog
3) small.*.*
4) *.*.cat
5) *.*.*
我希望RabbitMQ只选择一个队列,通过以下逻辑放置我的消息:
- 重合标记的数量应尽可能大
- 第一个标记的一致性比第二个标记的一致性更重要
big.yellow.rabbit -> 1)
small.yellow.rabbit -> 3)
small.white.cat -> 3)
big.grey.cat -> 4)
big.yellow.pig -> 5)
我得出的结论是,常见的交换类型(直接、主题、扇出、标题)对我没有帮助。我需要实现新的自定义类型。
我说得对吗
谢谢。是的,您描述的路由逻辑不是由RabbitMQ中的任何默认交换类型实现的;你得自己写 你需要一个兔子。更具体地说,您需要编写一个自定义的交换类型:您可以在页面上找到大量示例 如果您需要任何关于如何开始或陷入困境的建议,请在邮件列表上发布一个问题。RabbitMQ开发人员阅读了该列表,并强调不要留下任何未回答的问题