問題タブ [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.
rabbitmq - NServiceBus RabbitMQ - DirectRoutingTopology とメッセージ タイプごとの個別の交換
MSMQ の上で NServiceBus を使用しています。現在、RabbitMQ を使用する方向に進んでいます。一元化されたキューが必要であり、RabbitMQ がニーズに最適であることがわかりました。
プロジェクトの変換は簡単で、RabbitMQ では、各エンドポイントとそのエンドポイントのメッセージ タイプごとに交換 (およびキュー) が作成されていることに気付きました。
http://docs.particular.net/nservicebus/rabbitmq/configuration-apiの「ルーティング トポロジの変更」セクションを読み、そこに書かれています
それほど複雑でないシナリオでは、DirectRoutingTopology を使用できます
ドキュメントで説明されていないのは、ソリューションを と見なすパラメータですcomplex
。
DirectRoutingTopology
検索したところ、複雑と見なされるものと、複数の交換が使用されるデフォルトのオプションよりもいつ使用すべきかを説明している場所が見つかりませんでした。または、各アプローチの違い/パフォーマンスに関する考慮事項は何ですか。
誰か知っていますか?
rabbitmq - Rabbitmq - 交換でメッセージを聞く方法
RabbitMQ にメッセージを送信する Java のプログラムがあります。私が知っているのは取引所名だけです。キュー、バインディングなどはありません。
私の質問は次のとおりです。プログラムがこれらを正常に送信したかどうかを確認するには、交換名だけを知っていますか?
ありがとう。
よろしく、 セルバン
spring-boot - すべてにrabbitmqトピック交換を使用すべきではないのはなぜですか?
ワーカー パターン、ファンアウト、およびフィルター処理されたトピックはすべてトピック交換で実装できるようです。代わりに直接交換またはファンアウト交換を使用するのはなぜですか?
amqp の無限の柔軟性 (命名規則、永続的なデフォルト設定、共通ヘッダーの送信、有効期限など) を抽象化するライブラリで、組織で見つかった一般的なパターンを成文化したいと考えています。さまざまな交換タイプを活用するか、トピックですべてのパターンを実装する必要があります。なぜ?
(Spring Boot、golang、および php を介して Java にコンシューマー/パブリッシャーがいます)
java - うさぎのメッセージがデッドレターの場合に追加情報を指定する方法
消費するメッセージを含むうさぎのキューがあります。失敗する可能性のあるリスナーもあります。キューは、(デッド レター キューと共に) デッド レター交換で構成されます。私が望むのは、配信不能キューにあるメッセージの例外情報を確認することです。
現在の仕組みは次のとおりです。
- 破損したメッセージを通常のキューに送信します。
- 私のリスナー (私は Java の org.springframework.amqp.core.MessageListener を使用しています) が次のようなエラーで失敗します: "java.lang.RuntimeException: 壊れたメッセージ"
- メッセージは拒否され、デッド レター交換を介してデッド レター キューに送られます。
- Rabbit Admin UI で配信不能メッセージを見ると、次のように表示され
ます
。
しかし、私が望むのは、UI のどこかに「java.lang.RuntimeException: 壊れたメッセージ」が表示されることです。私はそれがカスタムヘッダーであるべきだと思いますか?
たとえば、リスナーに一般的な try-catch を配置し、ヘッダーを例外情報で強化することは可能ですか?
python - RabbitMQ の使用 - 複数のプロデューサーと複数のコンシューマー
複数のプロデューサーと複数のコンシューマーを持つことが可能かどうか知りたいですか?
例えば:
-> コンシューマー A はプロデューサー A からのメッセージのみを受信します
-> コンシューマー B はプロデューサー B からのメッセージのみを受信します
または、複数のキューを作成する必要がありますか?
誰かが投稿して例を挙げてもらえますか?
c# - トピック交換を使用して、パブリッシャーが送信したメッセージをパブリッシャーが受信できないようにするにはどうすればよいですか?
これはかなり一般的な問題だと思います。
C# と Rabbit MQ クライアントを使用しています。パブリッシャーが取引所にメッセージを送信しています。パブリッシャー キューとサブスクライバー キューはすべて、ルーティング キーを介して交換にバインドされます。パブリッシャーが Exchange にメッセージを送信すると、すべてのサブスクライバー キューが期待どおりにメッセージを受信しますが、パブリッシャー キューもメッセージを受信します。
これを防ぐために採用できる良いパターンはありますか?