2016-07-21 9 views
0

私はネットワーキングに新しい人です。私はセマンティクスで泳ぐ(溺れています)。VMをホストに接続するRabbitMQ

私はJavaアプリケーションを実行するVMを持っています。理想的には、RabbitMQキューを介してホストからの入力が送られます。 Javaアプリケーションは、ホストアプリケーションが使用する別のポートの別のRabbitMQキューに結果を格納します。それを少し調べた後、RabbitMQはローカルホストの空間にのみ存在し、別のポートにリスナーが存在するようですが、これは間違いありませんか?

2つのRabbitMQサーバーを同じポートで待機している状態で(VM上とホスト上でそれぞれ1台ずつ)実行する必要がありますか?または、両方のアプリケーションが同じIPアドレス/ポートを指している間に、ただ1つのRabbitMQサーバーが稼動しているだけでよいですか?

また、localhost上にない限り、guest/guestとして接続できないことも読んでいますが、私は理解していますが、RabbitMQはlocalhost以外のものにどのように設定/

私は数時間研究していますが、ドキュメントは直接回答/ハウツーガイドを指しません。おそらくそれは私のネットワーク経験の欠如です。もし誰かがこれらの質問を詳述したり、いくつかの記事/役に立つガイドを教えてくれたら、私は多くの義務があります。

P.S. - 文脈を与えるために表示するコードがわからない。私に知らせてください、私はポストにコードを編集します。

答えて

1

RabbitMQは、すぐに使用できるすべてのネットワークインターフェイスでTCPポート5672をリッスンします。これには、「ループバック」インターフェース(自己への高速接続を可能にするためのインターフェース)と、他のリモートホスト(VMを含む)に見えるインターフェースが含まれます。

あなたのユースケースでは、おそらく両方の方向で1つのRabbitMQインスタンスが必要です。ホスト上のアプリケーションは1つのキューにメッセージをパブリッシュし、VM内のJavaアプリケーションはそのキューからのメッセージを消費し、その結果を2番目のキューにプッシュします。この2番目のキューは、ホスト上のアプリケーションによって消費される可能性があります。

ユーザーにとって、適切な権限を持つ新しいユーザーを作成する必要があります。これはaccess control articleに記載されています。ユーザーを作成するには、管理Web UI(管理プラグインを有効にした後)またはrabbitmqctlコマンドラインツールを使用してユーザーを作成します。

最後の部分は、ホストとVM間のネットワークです。それは実際にあなたが使用する技術に依存します。それはすぐに動作するか、VMがネットワークにどのように接続されているかを設定する必要があります。ハイパーバイザーのマニュアルを参照してください。

+0

ありがとうございます。私はそれが大変なことを複雑にすることであることを知りました。 Rabbitはローカルホストに存在していますが、ネットワークの残りの部分にはまだ表示されています。私がしなければならなかったのは、設定ファイルを変更することだけでした。 また、Rabbit-to-Rabbitのセットアップもこの使用例でうまくいきました。 お時間をいただきありがとうございます。 – fhornplayer

+0

あなたは大歓迎です!この答えがあなたを満足させるなら、それを受け入れることができますか? –

+0

確かに!それを忘れる私の間違い。 – fhornplayer

関連する問題