問題タブ [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 投票する
6 に答える
2160 参照

architecture - AMQP はマシン内およびマシン間のソフトウェア バスとして適していますか?

AMQPについて頭を悩ませようとしています。アプリケーション間のマシン間 (クラスター、LAN、WAN) 通信には優れているように見えますが、1 台のマシン内でソフトウェア バスとして使用するのに (アーキテクチャ上および現在の実装面で) 適しているかどうかはわかりません。

現在の高性能メッセージ パッシング フレームワークを取り出して AMQP に置き換える価値はありますか? それとも、ローカル通信と非ローカル通信の区別が曖昧になり、RPC と同じ罠に陥るのでしょうか?

また、マシン内通信に WAN テクノロジを使用することによるパフォーマンスへの影響についても心配していますが、これはアーキテクチャよりも実装上の問題かもしれません。

戦争の話は大歓迎です。

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

serialization - 非同期メッセージング用のオブジェクトのシリアル化

AMQP (qpid を使用) を使用して、Python と Java のサービスが相互に通信できるようにすることを検討しています。基本的なテキスト メッセージングは​​単純に見えますが、私が調査した他のすべてのメッセージング テクノロジと同様に、それで終わりのようです。インスタント メッセージング アプリケーションを構築することを除いて、文字列を送信することは特に役立つことではないと思っていたでしょう。

私の本能は、両方の言語で優れたライブラリサポートを備えた XML (デ) シリアライゼーションまたは類似のもの (JSON、YAML、プロトコルバッファーなど) を使用することです。これはベスト プラクティスですか? もしそうなら、どの (逆) シリアル化プロトコルをお勧めしますか? それとも、私はどこかでポイントを逃しており、小さなテキストを送信するだけで十分なはずですか?

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

geolocation - 複数の異なる地理的位置にマルチキャストを配信する

アプリケーションで1つの論理PGMベースのマルチキャストアドレスを使用する必要がありますが、そのようなアプリケーションを複数の異なる地理的位置(つまり、米国/ヨーロッパ/オーストラリアを考えてください)で「シームレスに」実行できるようにする必要があります。

アプリケーションはかなりのスループット (1 日に数百万のビジネス メッセージ) であり、多くの小さいながらも非常に頻繁にメッセージを送信するため、遅延が要求されます。古典的な Atom pub は、レイテンシの外部制限により、ここでは機能しません。

これらのデータセンターを接続するためのいくつかのオプションを考え出しましたが、最適なものが見つかりません。私が検討したオプションは次のとおりです。1) VPN を介してマルチキャスト メッセージを転送します (VPN はそのような大きな負荷を処理できますか)。2) すべてのマルチキャスト メッセージを「ラッパー メッセージ」に変換し、AMQP 経由で転送します。3) TCP 経由でマルチキャスト メッセージを他の 2 つの場所にトンネリングする専用の社内ゲートを作成します。4) その他の解決策

開発者から追加のコードを書き込む必要がないため、オプション 1 をお勧めします。しかし、信頼できる接続ではないのではないかと心配しています。

そのような接続に適用する規則はありますか?

地理的構成に関する最適なネットワーク構成は、上記の制約に対するものです。

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

ruby - どのグループ メッセージング テクノロジを使用するか?

私は少し混乱しているように感じます — 約 24 時間、自分のプロジェクトでどのグループ放送技術を使用するかを考えていました。

基本的に、私が必要とするものは次のとおりです。

  • グループを作成します (何らかのバックエンド プロセスによって)
  • 任意のクライアントによるブロードキャスト メッセージ (1:N、N:N)
  • (潜在的に) ダイレクトメッセージ (1:1)
  • (重要)クライアントを自分のバックエンドで認証/承認します(たとえば、ある種のHTTP APIを介して)
  • バックエンド プロセス (またはサーバー プラグイン) によって特定のクライアントをキックできるようにする

これが私が持っているものです:

  1. Ruby または Haxe のバックエンド関連プロセス
  2. JS+Haxe(Flash9) のフロントエンド — ブラウザーで、理想的には 80/443 を介して通信しますが、必ずしもそうとは限りません。

したがって、このテクノロジーは、Haxe for Flash、できれば Ruby で簡単にアクセスできる必要があります。

私が考えているのは、RabbitMQ (または OpenAMQ)、RabbitMQ+STOMP、ejabberd、ejabberd+BOSH、juggernaut (Haxe ライブラリを作成する必要がある) です。

アイデア/提案はありますか?

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

c# - RabbitMQ C# クライアントが Apache Qpid Java Broker と通信しない

Apache Qpid Java ブローカーの M4 リリースを Windows ボックスにインストールし、すぐに使用できる構成を使用して (qpid-server.bat スクリプトを介して) 開始しました。

現在、RabbitMQ C# クライアント ライブラリ (バージョン 1.5.3、.NET 3.0 用にコンパイル) を使用してキューにメッセージを発行しようとしています。私のコードは次のとおりです。

基本的にfactory.Parameters.VirtualHost、文字列exchangeroutingKey. さまざまな組み合わせを試しましたが、何もうまくいかないようです。最も近いのは、Qpid サーバー ログで次のように表示されることです。

Qpid サーバーがメッセージを受信して​​いるように見えますが、どうすればよいかわかりません。

クライアント コードで必要な構成値に関するアドバイスがあれば (virtualhosts.xml でデフォルトの Qpid 構成を使用していることを念頭に置いて) いただければ幸いです。仮想ホスト、エクスチェンジ、キュー、ルーティング キー、および Qpid がそれらをすべてリンクする方法に関する一般的な情報も非常に役立ちます。

前もって感謝します、

アラン

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

cross-platform - JBoss MessagingはJava以外のクライアントをサポートしていますか?

エンタープライズ統合プロジェクトの場合、JJBossMessagingなどのメッセージブローカーへのJava以外のアクセス非常に役立ちます。ApacheActiveMQおよびGlassFishOpenMessage Queue製品の場合、 Stompなどのネイティブまたは標準プロトコルを使用して、さまざまなクライアント実装を利用できます。

JBoss Messagingには、課題トラッカーに「STOMPプロトコルをネイティブに実装する」というタスクがあります。ただし、このタスクはJBossMessagingロードマップには表示されません。

Java以外のクライアントでJBossMessagingに接続する他のオプションはありますか?

編集:JBossMessagingはバージョン2でAMQPをサポートします

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

ruby - フレームワークに依存しない Ruby バックグラウンド ワーカー ライブラリの最適なオプションは何ですか?

メッセージ キューに RabbitMQ を使用して、iPhone アプリ用に Ruby と Sinatra を使用して簡単なレシピ検索エンジンを構築しています。バックグラウンド プロセスのさまざまな実装の選択肢を探していますが、それらのほとんどは、カスタム メッセージ キュー アルゴリズムを実装するか、Rails プラグインとして動作します。

RabbitMQ とうまく連携する、フレームワークにとらわれない高品質のワーカー ライブラリに関しては、何がありますか?

そして、明らかなことを超えて、ワーカーコードを書くときに心に留めておくべきベストプラクティスはありますか?

0 投票する
9 に答える
52899 参照

.net - クライアントからの RabbitMQ キュー サイズを確認する

クライアント アプリケーションから RabbitMQ キュー内のメッセージ数を確認する方法があるかどうかは誰にもわかりませんか?

.NET クライアント ライブラリを使用しています。

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

python - DjangoプロジェクトにCeleryまたはCarrotを使用する必要がありますか?

どちらを使うべきか少し混乱しています。どちらでもうまくいくと思いますが、どちらがもう一方よりも優れているのでしょうか、それとも適切でしょうか?

http://github.com/ask/carrot/tree/master

http://github.com/ask/celery/tree/master

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

java - マップをどのようにエンコードしますかプロトコルバッファを使用していますか?

メッセージのシリアル化にProtocol Buffersを使用しようとしています。

メッセージ形式には Map< String, Object > エントリを含める必要がありますが、.proto 定義をどのように記述すればよいですか?

私の知る限り、Protocol Buffers には組み込みの Map タイプがありません。繰り返しフィールドを使用して、それをモデル化できます。しかし、私が抱えている大きな問題は、すべての型を定義する必要があるということです。メッセージを柔軟にしたいので、タイプを指定できません。

何か案は?