問題タブ [rabbitmq-exchange]

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 投票する
2 に答える
1415 参照

c# - RabbitMQ メッセージ交換

RabbitMQ Producer と RabbitMQ Consumer を作成しました....

プロデューサが 10 個のメッセージを生成するとします。これらの 10 件のメッセージから特定のメッセージを取得するにはどうすればよいですか。

メッセージを一意に識別し、それを読んだり、そのメッセージを消費したりする方法を知りたいです。

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

.net - RabbitMQ で取引所を消費することは可能ですか?

多分私はここで間違った質問をしています。

私がやろうとしているのは、複数のプロデューサーが動的カテゴリのデータを名前付き交換にプッシュすることです。複数のコンシューマーが、これらの動的に名前が付けられたキューからこのデータを取得し、それらに基づいて行動する必要があります。

問題は、私が目にするすべての消費の例では、コンシューマー/サブスクリプションに特定のキュー名が必要であり、私のコンシューマーはキューの名前を知らないか、これを知る必要がないことです。

なぜ私はこれをしているのですか?2 つの理由:

  1. これらの動的カテゴリを一度に N 個持つことができます。キューがこれらのカテゴリを均等に処理することを望みます。現在、これらのカテゴリをすべて受け入れ、FIFO で提供する 1 つのキュー (msmq) があります (つまり、一部のカテゴリはしばらくの間枯渇します)。

  2. fifo ではなく、すべてのカテゴリを均等に提供できるので、興味深い QoS を思いつくことができます (デフォルトでは、Rabbit がメッセージをラウンドロビンで提供することを理解しています)。

それで、私の質問に戻ります (有効な場合): キューからメッセージを消費することは可能ですか?

0 投票する
5 に答える
42468 参照

rabbitmq - RabbitMQでのトピック交換と直接交換

RabbitMQを使用し、層間でメッセージを渡すためのいくつかの異なるキューを持つアプリケーションがあります。

当初は、メッセージタイプごとに1つずつ、複数の直接交換を使用することを計画していましたが、異なるルーティングキーバインディングを使用するキューで単一のトピック交換を行うと、同じことが達成されるようです。

単一の交換を行うことも、保守が少し簡単になるように思われますが、一方の方法でそれを行うことの利点(ある場合)があるかどうか疑問に思いました。

オプション1、複数の直接交換を使用:

オプション2、単一トピック交換を使用:

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

python - Celery と RabbitMQ とのトピック交換

トピック交換をセットアップするために構成がどのように見えるべきかについて、少し混乱しています。

http://www.rabbitmq.com/tutorials/tutorial-five-python.html

これは私が達成したいことです:

それから:

Task1 が QueueOne から消費し、Task2 が QueueTwo から消費するようにしたいだけです。

その問題は、Task1 と 2 が実行されると、QueueFirehose も排出され、TaskFirehose タスクが実行されないことです。

私の設定に何か問題がありますか、それとも何か誤解していますか?

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

rabbitmq - rabbitmqの取引所数に制限はありますか?

サーバーの利用可能なリソースにバインドする必要があることを除いて、ドキュメントでもグーグルでもこれについて何も見つかりませんでした。

作業環境で一度に非常に多くの交換を行った経験のある人はいますか? 交換を作成することだけが問題になることはありません (単にメモリ制限に達するまで) が、高いメッセージ スループットと大部分が動的な交換の作成/削除を伴う作業中のプロジェクトで使用することです。

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

java - RabbitMQ N 交換テスト

私は RabbitMQ にかなり慣れていないので、RabbitMQ のメッセージ システムが使用される交換の数に応じてどのようにスケーリングするかを理解するために、いくつかのテストを作成する予定です。特に、 N交換の増加が CPU、メモリ、および IO の使用にどのように影響するかを知りたいと思っています。

RabbitMQ には、システム関連の情報を出力する status コマンドを備えた rabbitmqct1.bat アプリケーションが付属していることに気付きました。私が抱えている問題は、メッセージング サイクルのどの時点でベンチマーク ユーティリティを実行するかを決定することです。

取引所にメッセージを公開しているときに実行する必要がありますか? または、キューを取引所にバインドするときに実行しますか? それとも、メッセージがエクスチェンジからキューにプッシュされるときですか?

乾杯。

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

java - RabbitMQExchangeのテスト

N個の交換をメモリやIOなどの同じキューにバインドした場合の影響をテストするアプリケーションを作成しようとしています。

テストはすべて「トピック」交換タイプを使用します。私が抱えている問題は、複数のエクスチェンジでテストしたときに、公開したすべてのメッセージを受信して​​いないことです。ただし、1つの交換を使用すると、すべてのメッセージを受信します。

なぜこれができるのか、何か考えはありますか?

ありがとう。

編集:

次の同じバインディングキーを使用して、2つの「トピック」交換にバインドされたキューがあります。

  • *。システムログ。#
  • #。システムエラー

次のように、各取引所に2つのメッセージを公開しています。

  1. 交換0

    • [本文]メッセージ0[ルーティングキー]#。system.error
    • [本文]メッセージ1[ルーティングキー]*。system.log。#
  2. 交換1

    • [本文]メッセージ0[ルーティングキー]#。system.error
    • [本文]メッセージ1[ルーティングキー]*。system.log。#

キューをリッスンしているコンシューマーが1人いますが、受信されるメッセージは次のとおりです。

  • ルーティングキー(* .system.log。#)を使用したメッセージ、交換0から、本文は「メッセージ1」
  • ルーティングキー(* .system.log。#)を含むメッセージ、交換1から、本文は「メッセージ1」

何か案は?

0 投票する
3 に答える
5079 参照

rabbitmq - 交換するRabbitmqバインディング交換

ユーザーがアクセスできるデータのみを取得できるように、Webサイトのメッセージングシステムを保護する方法を探しています。これを念頭に置いて、サーバーがすべてのメッセージを送信するマスタートピック交換があるシステムを考えました。

Webサイトは、各ユーザーのsessionIdを保持しています。ユーザーが認証されると、sessionIdという名前の別の交換が作成されます。クライアント側のユーザーは、マスター以外のすべての交換にバインドできます。sessionIDは一意であるため、別のユーザーのsessionIDを推測してバインドし、メッセージを取得することは非常に困難です。

各メッセージには、sessionID.destinationのルーティングキーがあります。クライアント側は、すべての潜在的な宛先を知っています。

視覚化に役立てるために:

私の質問は2つあります。交換をrabbitmqの交換にバインドすることは可能ですか?また、誰かが以前にこのようなシステムをセットアップしたことがありますか?むしろ、このトピックの経験がある人は、私が使用できる実用的なシステムをすでに持っていますか?

よろしくお願いします。

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

rabbitmq - RabbitMQ ファンアウト交換の問題

パブリッシュ/サブスクライブ RabbitMQ Java チュートリアルを使用してファンアウト交換を作成することができ、接続されているすべてのコンシューマーがメッセージのコピーを受信します。動的/プログラム的に交換とバインディングを宣言する代わりに、消費者を接続する前に交換とバインディングを作成したいと思います。これは、RabbitMQ 管理コンソールを使用して行いました。しかし、何らかの理由で、すべてのコンシューマがメッセージのコピーを受信するのではなく、ラウンド ロビン方式でメッセージを受信して​​います。私は何が欠けていますか?以下にいくつかのコード スニペットを示します。

出版社:

消費者:

...そして、RabbitMQ 管理コンソールで、タイプ「ファンアウト」のエクスチェンジ「パブリック」を作成し、そのエクスチェンジから「myqueue」へのバインディングを設定しました。

助けていただければ幸いです!

0 投票する
3 に答える
80503 参照

rabbitmq - メッセージ、キュー、および交換の制限は何ですか?

  1. 許可されているメッセージの種類 (文字列、バイト、整数など) は?
  2. メッセージの最大サイズは?
  3. キューとエクスチェンジの最大数はいくつですか?