Take the 2-minute tour ×  I have some queues bound to one topic
exchange, e.g. with routing keys:  1) big.yellow.rabbit 2)
small.*.dog 3) small.*.* 4) *.*.cat 5) *.*.*  I want the
RabbitMQ to choose only one queue to place my message by
following logic:    • the number of coincident tags should be as
big as possible   • coincidence of first tag is more importat
than for second...  Examples for aforementioned keys:
big.yellow.rabbit -> 1)  small.yellow.rabbit -> 3)
small.white.cat -> 3) big.grey.cat -> 4) big.yellow.pig -> 5)
I've come to conclusion that common exchange types (direct,
topic, fanout, headers) will not help me. And I need to
implement new custom type. Am I right?   share|improve this
question add comment  1 Answer  up vote 2 down vote accepted
Yes, the routing logic you describe is not implemented by any of
the default exchange types in RabbitMQ; you'll have to write
your own.  You'll need to write a RabbitMQ plugin. More
concretely, you'll need to write a custom exchange type: you can
find