0

私はアプリケーションに取り組んでいますが、RabbitMQ ですべてのクライアントがメッセージを特定のキューにプッシュし、認証されたユーザーのみがそのキューからメッセージを消費できるようにすることは可能でしょうか? 私はこれについて何も見つけられないようです:/

基本的に私のモデルは次のようなものです: クライアントはすべて同じキューに接続し、メッセージをプッシュします。また、各クライアントは、メッセージを受信する独自​​のキューを登録する必要があります (各クライアントには固有のキューがあります)。

したがって、基本的にクライアントは1つのキューにメッセージを送信し、サーバーアプリケーションのみがそこから読み取り、データを処理し、特定のユーザーキューに応答を送信できる必要があります(そのユーザーのみが読み取り、サーバーのみが公開する必要があります) .

これは可能だと思いますよね?誰かが私を正しい方向に導き、それらのこと/例/チュートリアルに関する詳細情報を見つけることができますか

4

1 に答える 1

1

したがって、箱から出してAFAIKを実行することはできませんが、次の2つのオプションがあります。

  1. erlangに精通している場合は、rabbitmq用の独自のプラグインを作成できます(追加のerlangの知識は必要ありません-基本的なことだけです)
  2. 2つの仮想ホストを作成し、各ホストで交換できます(vhostAは読み取り用vhostBは書き込み用)。仮想ホストBで交換を作成し、ルーティングキーを使用して特定のキューにバインドします。仮想ホストAで、フェデレーション交換を作成します[1]。簡単な説明:フェデレーション交換では、マップ交換からアップストリーム交換が可能です。つまり、マップされた交換は、アップストリーム交換からすべてのメッセージを受信します。したがって、仮想ホストAで交換E1を作成し、仮想ホストBで交換E2にマップします。仮想ホストごとに異なるユーザーを作成できます。

[1]:http ://www.rabbitmq.com/federation.html-すぐに使える例が含まれているフェデレーションプラグインに関するマニュアルです。

于 2012-05-14T20:41:02.630 に答える