2017-03-27 12 views
0

メッセージキューを必要としているので、メッセージとタグを関連付けることができ、特定のタグに関連付けられたメッセージのみを受信できます。メッセージをタグでフィルタリングできるメッセージキュー

例えば者は{id:1, tags: "tag1", "tag2"}は「TAG1」と「タグ2」ID のメッセージであるとタグに関連付けられているとしましょう。だから私は受信私は「TAG1」またはキューから「TAG2」のためではなく、「TAG3」をお願いしたいと思います。

私も

私は(少なくとも可視性タイムアウト内) TAG1または TAG2を求めたときに、上記のメッセージが再び提供されることはありません受信したときに意味し、一回の配信をサポートするために、この機能が必要

ユーザ定義のプロパティでメッセージをフィルタリングできるMQも動作します。メッセージの一回限りの配信を保証する必要があります。だから私はそれが各キューにメッセージのコピーを作成すると信じているので、(RabbitMQのような)AMQPのルーティングは私にとってはうまくいかないでしょう。

私はいくつかのMQ実装(RabbitMQ、ActiveMQ、SQS、MSMQなど)を調査しましたが、この機能の実装を見つけることができませんでした。このタイプのメッセージフィルタリングをサポートするMQはありますか?

+0

メッセージに** tag3 **が表示されない場合は表示されません。メッセージを受信して​​使用する場合は、メッセージをフィルタするためにXPathを検索してhttp://activemq.apache.org/selectors.html –

+0

それをもう一度受け取る理由はありません –

+0

@HassenBennourはい、メッセージを1回だけ消費するのは、私が欲しいものです。私はXpathセレクタを使ってそれが私にとってうまくいくかどうかを確認します。 –

答えて

0

あなたはRabbitMQ、ActiveMQ、SQS、MSMQを見ていたので、ZeroMQnanomsgまたはYAMI4をチェックアウトすることもできます。

これらは、クライアント側でフィルタリング機能を持つPUB/SUBメカニズムを備えています。 クライアントは特定のタグを持つメッセージを受信できました。

多くのタグを聴くことは、専用のスレッドまたは複数の接続を使用して行うことができます。私はC/C++アプリケーションでとJavaバインディングを使用してJavaアプリの制作にnanomsgを使用YAMI4

nanomsg

PUB/SUBで

ZeroMQ

PUB/SUBでPUB/SUB。

関連する問題