問題タブ [node-amqp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
757 参照

node.js - node-amqp交換コールバックが呼び出されていません

私は次のコードを持っています。私のノードバージョンはv0.7.0-preです。コードを実行すると、画面が印刷されます

Exchangeコールバックメッセージは出力されません。私が実行すると

コマンド新しい交換が作成されているのがわかりますが、コールバックが呼び出されていません。私はテストケースを見ましたが、これはカバーされたケースではないようです。これがバグであり、回避策があるかどうかを教えてください

0 投票する
12 に答える
177859 参照

node.js - RabbitMQ / AMQP:単一のキュー、同じメッセージの複数のコンシューマー?

私はRabbitMQとAMQPを一般的に使い始めたばかりです。

  • メッセージのキューがあります
  • 複数の消費者がいますが、同じメッセージでさまざまなことをしたいと思っています。

RabbitMQのドキュメントのほとんどは、ラウンドロビンに焦点を当てているようです。つまり、単一のメッセージが単一のコンシューマーによって消費され、各コンシューマー間で負荷が分散されます。これは確かに私が目撃した行動です。

例:プロデューサーには単一のキューがあり、2秒ごとにメッセージを送信します。

そしてここに消費者がいます:

コンシューマーを2回起動すると、各コンシューマーがラウンドロビン動作で代替メッセージを消費していることがわかります。たとえば、一方の端末にメッセージ1、3、5、もう一方の端末に2、4、6のメッセージが表示されます

私の質問は:

  • 各コンシューマーに同じメッセージを受信させることはできますか?つまり、両方の消費者がメッセージ1、2、3、4、5、6を受け取りますか?これはAMQP/RabbitMQで何と呼ばれていますか?通常はどのように構成されていますか?

  • これは一般的に行われますか?代わりに、交換でメッセージを2つの別々のキューにルーティングし、単一のコンシューマーを使用する必要がありますか?

0 投票する
1 に答える
2356 参照

node.js - プロデューサーとコンシューマー間のRabbitMQメッセージのレイテンシー

RabbitMQサーバーでnode.jsamqp-nodeクライアントを実行しています。私は2つの異なる方法で単純な公開/消費テストを設定しました-それぞれが異なるレイテンシーを生成し、その理由を理解できません。待ち時間は、メッセージが送信されてから配信されるまでの時間で測定されます。

最初の方法では、2つの別々のプロセスを使用します。1つは公開アプリ用、もう1つは消費アプリ用です。約4msのレイテンシーを生成します。2番目の方法では、1つのアプリのみを使用して作成および消費します。これにより、約40ミリ秒の遅延が発生します。誰かがこの振る舞いを私に説明できますか?お時間をいただきありがとうございます。

方法#1プロデューサー:

方法#1消費者

方法#2プロデューサーとコンシューマー

0 投票する
1 に答える
2804 参照

node.js - RabbitMQ と node-amqp: 確認済みモードの Exchange が確認しない - なぜですか?

RabbitMQ に依存する Node.js アプリケーションを作成しています。RabbitMQ に接続するためのライブラリとして node-amqp を使用しています。

RabbitMQ への接続を確立したら、まず交換を作成します。

これは完全に機能します。ご覧のとおり、 を使用して交換を作成しているconfirm: trueため、後で交換が確認モードになることを期待しています。

メッセージを公開しようとすると、問題が発生します。

問題は、publish関数のコールバックが呼び出されないことです-メッセージは正常に発行されましたが (RabbitMQ の Web 管理ツール内で確認できます)。

確認モードを間違った方法で理解しましたか? これは node-amqp のバグですか?

どんな助けでも大歓迎です:-)

0 投票する
2 に答える
1731 参照

queue - キューの送信者は、コンシューマーがクラッシュしたことをどのように知ることができますか?

node-amqp を使用しています。各キューには、1 つの送信側と 1 つのコンシューマーがあります。送信者側では、アクティブなコンシューマーのリストを維持する必要があります。問題は、消費者のコンピューターがクラッシュしたとき、どのように通知を受け取り、送信者側のリストから削除するのでしょうか?

0 投票する
1 に答える
3335 参照

node.js - node-amqp (node.js) での排他的キュー サブスクリプションの処理エラー

排他的キュー (一度に許可されるコンシューマーは 1 つだけ) にサブスクライブすると、キューがオーバーサブスクライブされる (既にコンシューマーがある) 場合、node-amqp は例外をスローします。

  • .on("error",cb) 構文を使用してみました。
  • エラー ドメインを試しました (ノード 0.10.0)
  • try/catch は明らかに機能しませんでした

これが私のサブスクリプション ラインですが、特別なことではありません。

キューが使用中の場合、未処理の例外がスローされます。

node-amqp の内部を見ると、エラーが発生したときにタスクが独立したコンテキストで実行されるように、モジュール内に独立したタスク キューが実装されていることがわかります。

回避策/修正はありますか? ...または私は何か間違ったことをしていますか?

0 投票する
1 に答える
1597 参照

node.js - stomp-client への切り替え中に node-amqp ライブラリで動作する認証の失敗、それは動作します

node-amqpライブラリを使用してオンラインの stomp サービスに接続しています。 stomp-clientを使用する前は、非常に正常に接続されていましたが、自動障害検出と再接続はサポートされていないため、次のように切り替えたいと考えています。より堅牢なサポートのための node-amqp。

ホスト名、パスワード、ユーザー名、およびポートが正しく、stomp-client ライブラリの例で機能しています。ただし、上記のコードを使用すると、接続エラー {メッセージ:「接続が終了しました: 認証エラーが原因である可能性があります。」というエラーが表示されました。} . コードを調べたところ、認証やコードに関する問題は見つかりませんでした。

これは、stomp-client ライブラリの作業コードです。

node-amqp を使用して Stomp サービスに接続する方法を教えてください。

0 投票する
1 に答える
3010 参照

node.js - node-amqp が RabbitMQ にメッセージを送信できません

私はrabbitmq-tutorialsを試しています。ruby バージョンは正常に動作しますが、node.js バージョンはメッセージを送信できません。何が悪いのかわかりません。

を実行した後node send.js、実行中のプロセスnode recv.jsは何も受信できません。キューを表示しrabbitmqctl list_queuesません。hello_node

0 投票する
2 に答える
73 参照

node.js - 1 つの接続で 4 つのキューを処理できますか?

2 つのパブリッシュ キューと 2 つのサブスクライブ キューがありますが、接続中に 4 つのキューを処理できますか?

または4つの接続?

0 投票する
1 に答える
806 参照

javascript - node-amqp で exchange を使用してメッセージを送信できません

これは私のコードです:

node 0.10.2 と node-amqp 0.1.6 を使用しています。

byは見えますが、 textexchangebyrabbitmqctl list_exchangesがありません。何が問題なのですか?testqueuerabbitmqctl list_queues