問題タブ [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.
message-queue - AMQPのようなメッセージ指向ミドルウェアはどのドメインで役立ちますか?
MOM(メッセージ指向ミドルウェア)はどのような問題を解決しますか?スケーラビリティ?統合?
それらはどのドメインで通常使用され、どのドメインで通常使用されませんか?
たとえば、Googleはそのようなソリューションをメインの検索エンジンに使用しているのでしょうか、それともGMailを強化するために使用しているのでしょうか。
Walmart、eBay、FedEx(ほとんどJavaショップ)やbuy.com(ほとんどMSショップ)のような大きなウェブサイトはどうですか?MOMはそこでのニーズを解決しますか?
サーバーサイドを制御し、同種の環境(たとえば、すべてLinux + Java JVMを実行している数十のAmazonEC2インスタンス)があり、クライアントがWebブラウザーであるWebアプリを作成する場合、意味がありますか?
サーバーと通信する必要があるデスクトップアプリにとって意味がありますか?
それとも、何らかの方法で通信する必要のある無数の異なるシステムが幸せに混ざり合っている大企業向けのものだけですか?
それらが何に役立つのかについて少し混乱しています。それらが適切な場所と適切でない場所の例を使用すると、それらの使用法をよりよく理解できたと思います。
erlang - Erlang AMQP クライアント ライブラリ
RabbitMQ と結び付いていないErlang AMQPクライアント ライブラリはありますか?
私はrabbitmq-erlang-clientについて知っていますが、もっと分離したものが欲しいです... Debianリポジトリ、インストールなどのためにこれをパッケージ化することになると苦痛です...
java - RabbitMQ (Java クライアント) を使用して、消費中にネットワーク接続が閉じているかどうかを判断する方法はありますか?
Java クライアントを使用して RHEL 5.3 で RabbitMQ を使用しています。2 つのノード (マシン) があります。Node1 は、Java ヘルパー クラス QueueingConsumer を使用して、Node2 のキューからメッセージを消費しています。
ノード 1 またはノード 2 でインターフェイスがダウンした場合 (例: ifconfig eth1 down)、クライアント (上記) はネットワークが存在しないことを認識しません。RabbitMQ は、接続が切断されたかどうかを判断するために使用できる、Java クライアントで何らかのタイプの構成を提供しますか。Node2 で RabbitMQ サーバーをシャットダウンすると、ShutdownSignalException がトリガーされます。これはキャッチされる可能性があり、アプリは再接続ループに入る可能性があります。ただし、インターフェイスを停止しても、どのような種類の例外も発生しないため、コードは consumer.nextDelivery() を永遠に待機します。
また、この呼び出しのタイムアウト バージョンを使用してみました。例えば
ただし、これは常に true を返すようです (インターフェイスがダウンしていても)。接続で ShutdownListener に登録しても同じ結果が得られると思いますが、まだ試していません。
ある種のハートビートを構成する方法はありますか、それともカスタム リース ロジック (「私は今ここにいます」など) を記述して、これを機能させる必要がありますか?
windows-ce - メッセージ配信を保証するためのwindows-ceのメッセージングテクノロジーは何ですか?
Windows-ce (6.0R3) ベースのデバイスを構築しています。これには、クラウドとの間で保証された監査対応のメッセージ配信 (ストア アンド フォワードを含む) が必要です。
私はそれ以上の選択肢を探していました:
- MSMQ
- 独自のソリューション (プロトタイプ デバイスが使用しているもの)
- AMQP (たとえば、CE 用の RabbitMQ クライアントは見つかりませんでした)
……他にもいる?
パブリック ネットワークを介して機密データを転送する予定であり、大規模なオプションが必要です。組み込みデバイスで実行されるものはすべて、パフォーマンスにも影響されます。
erlang - AMQP 'connection.open' 予約済みパラメーター
Erlang で AMQP クライアント ライブラリを作成しています。「connection.open」メソッドの場合、合計 3 つのうち、AMQP 0.9.1 で「文書化」されている 2 つの予約済みパラメーターがあります。 「予約済みパラメーター」なしで問題のメソッドを送信すると、「メソッドをデコードできません」というメッセージが表示されます。 "エラーログに.
これらの「予約済みパラメーター」の値として何を送信する必要がありますか??
更新:パラメーターが廃止された場合でも、サーバーはまだいくつかのパラメーターを期待しているようです (コード ジェネレーターのソース コードを参照)。
c - 誰かがOpenAMQClibを使用してrabbitMQサーバーに接続する手順を教えてもらえますか
C / C ++アプリでRabbitMQを使用しようとしていますが、これまでのところ、OpenAMQのCクライアントを使用することが唯一のオプションであることに気付きましたが、OpenAMQはAMQP 0-9であり、RabbitMQサーバーは0-8です。どこかで、RabbitMQをOpenAMQ C libで動作させるために小さな変更を加えることに成功したことを読んだことがあります。これを経験した人は、少し光を当てることができます。
ruby - AMQP、Rabbit、および Ruby を使用したキューのフラッシュ
私は、RabbitMQ を使用してキューにメッセージを送信するシステムを Ruby で開発しています。私は使っている:
- Ruby 1.9.1 安定版
- ウサギMQ 1.7.2
- AMQP gem v0.6.7 ( http://github.com/tmm1/amqp )
この gem で見たほとんどの例では、EM.add_periodic_timer ブロックにパブリッシュ呼び出しがあります。これは、大多数のユースケースであると思われるものでは機能せず、確かに私のものでは機能しません。いくつかの作業を完了するときにメッセージを発行する必要があるため、発行ステートメントを add_periodic_timer ブロックに入れるだけでは不十分です。
そのため、いくつかのメッセージをキューに発行し、それを「フラッシュ」して、発行したメッセージがサブスクライバーに配信されるようにする方法を見つけようとしています。
私が言いたいことを理解してもらうために、次の発行者コードを考えてみてください。
したがって、このコードは単純にループし、ループの各反復で 40% の確率でメッセージを公開し、その後 0.1 秒間スリープします。50 件のメッセージが公開されるまでこれを行い、その後 AMQP を停止します。もちろん、これは概念実証にすぎません。
さて、私のサブスクライバーコード:
したがって、キューにサブスクライブするだけで、受信したメッセージごとに出力します。
パブリッシャーが AMQP.stop を呼び出したときに、サブスクライバーが 50 個のメッセージすべてを受信することを除けば、素晴らしいことです。
これが私の出版社からの出力です。簡潔にするために途中で切り捨てられています。
次に、サブスクライバーからの出力:
出力のタイムスタンプに注意すると、サブスクライバーは、パブリッシャーが AMQP を停止して終了した後にのみ、すべてのメッセージを受信します。
では、AMQP の初心者として、メッセージをすぐに配信するにはどうすればよいでしょうか? パブリッシャーの while ループの本文に AMQP.start と AMQP.stop を入れてみましたが、最初のメッセージしか配信されませんでしたが、奇妙なことに、ログを有効にすると、サーバーからエラー メッセージが報告されず、メッセージはキューに送信されますが、サブスクライバーによって受信されることはありません。
提案をいただければ幸いです。読んでくれてありがとう。
java - ActiveMQとCamel-ルーティングパスに依存関係を作成する方法
実装するメッセージルーティングがあります。これには、メッセージの内容に応じて異なるルートがあります。ルートの一部のストランドは他のストランドに依存しています。
たとえば、実行するTask_AとTask_Bを持つData_Aがあるとします。一方、Data_Bには、実行するTask_Bのみがあります。
ここで、各タスクには、コンシューマーによって提供されるキューがあります。
データに対してTask_Bが要求された場合に、Task_Bの後にのみTask_Aを実行する必要がある場合、そのような依存関係を設定するにはどうすればよいですか?
java - シンプルなJavaAMQPサーバー
Javaで記述された単純なAMQPサーバー/ブローカーの実装はありますか?
ローカル統合テストに使用する必要があります。ant / mavenから始めたいのですが、クラスタリング、永続性、パフォーマンスなどの機能は必要ありません。インストール(maven pomでの依存関係と同じように)と構成がない、単なるモックのRabbitMQのようなインスタンス。
python - メッセージを 1 つではなく 2 つの RabbitMQ キューに投稿する (py-amqp を使用)
py-amqpとFlopsyモジュールを使用すると、この奇妙な問題が発生します。メッセージを RabbitMQ サーバーに送信するパブリッシャーを作成しましたが、それを指定されたキューに送信できるようにしたいと考えていました。Flopsy モジュールではそれができないので、Publisher オブジェクトの _init__ メソッドでキューを宣言するためのパラメーターと行を追加して微調整しました
チャネル オブジェクトは py-amqplib ライブラリの一部です
私が抱えている問題は、メッセージを指定されたキューに送信している場合でも、メッセージをデフォルトのキューに送信しているということです。このシステムでは、非常に多くのメッセージを送信することが予想されるため、無駄な重複を作成してシステムにストレスを与えたくありません... コードをデバッグして py-amqplib ライブラリ内に移動しようとしましたが、エラーや不足しているステップを把握できません。また、コードの外側に py-amqplib 形式のドキュメントを見つけることができません。
なぜこれが起こっているのか、それを修正する方法についてのアイデアはありますか?