2012-04-01 21 views
3

1つのトピック交換にバインドされたキューがあります。ルーティングキーで:RabbitMQによる選択的ルーティング

1) big.yellow.rabbit 
2) small.*.dog 
3) small.*.* 
4) *.*.cat 
5) *.*.* 

私はRabbitMQのは、以下のロジックで私のメッセージを配置するために一つだけキューを選択します:一致するタグの数はできるだけ大きいべきである

  • 最初のタグの偶然の一致は、2番目のタグの偶然の一致よりも多い。

前述のキーの例:

big.yellow.rabbit -> 1) 
small.yellow.rabbit -> 3) 
small.white.cat -> 3) 
big.grey.cat -> 4) 
big.yellow.pig -> 5) 

一般的な交換タイプ(ダイレクト、トピック、ファンアウト、ヘッダー)は私を助けません。そして私は新しいカスタムタイプを実装する必要があります。 私はそうですか?

ありがとうございました。

答えて

6

はい、あなたが記述するルーティングロジックは、RabbitMQのデフォルトの交換タイプによって実装されていません。あなたは自分で書く必要があります。

あなたはwriteにRabbitMQ pluginが必要です。具体的には、カスタム交換タイプを書く必要があります。Developer Toolsページで多数の例が見つかります。

開始方法や問題が発生した場合は、RabbitMQ-Discussメーリングリストに質問を投稿してください。 RabbitMQの開発者はこのリストを読んで、何の質問も残さないようにしています。

関連する問題