問題タブ [zeromq]

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 に答える
1515 参照

erlang - 緑のスレッドで 0MQ?

私は erlang が好きになりました。それは私の問題にぴったりの (咳) アーキテクチャです。その間、私は今でも erlang プロセスと python での非同期メッセージ パッシングをクラッジできると想像したいと思っています (私は現在、この強迫観念を取り除くために治療を受けています)。

最近のどんちゃん騒ぎで 0MQ に出くわし、そのメッセージング機能が気に入っています。これらは erlang/OTP の専門家には自明かもしれませんが、私はただの謙虚な python プログラマーです (私のシュリンクは間違いなくこの巧妙な議論を読むようになるでしょう)。0MQのユーザー ガイドには、仮想の「グリーン」スレッドではなく、ネイティブ OS スレッドを使用すると記載されています。

  1. 0MQ を eventlet/gevent と連携させる方法はありますか?

  2. それとも、緑色の目の怪物を避けて、単一の Python アプリ スレッドに固執し、0MQ のメッセージ キューイングと独自の (熟練した) ネイティブ スレッドの使用によって非ブロック I/O を処理する必要がありますか?

  3. それとも、リハビリを終えてアーランに戻りますか?

0 投票する
7 に答える
9887 参照

java - 純粋なJavaZeroMQクライアント?

ZeroMQのpubsubメッセージングを使用しようとしていますが、クライアント側ではコードがすべてJavaである必要があります。ZeroMQにはJavaバインディングがあることを理解していますが、それでもacライブラリに依存しているため、使用できません。サーバーへの接続に使用できるZeroMQクライアントはありますか、それとも実装は自分で行うのに十分簡単ですか?

0 投票する
8 に答える
19123 参照

macos - OSX で ZeroMQ 用に jzmq をコンパイルするにはどうすればよいですか?

次の指示に従おうとしています: http://github.com/zeromq/jzmq

Homebrew を使用して pkg-config をインストールし、次のコマンドを実行します: ./autogen.sh ./configure

構成は次のように失敗します。

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

iphone - iPhone 用の C ライブラリをコンパイルする

iPhoneで使用できるようにするために、ZeroMQ Cバインディングをコンパイルしようとしています。構成オプションは次のとおりです。

./configure --host=arm-apple-darwin --enable-static=yes --enable-shared=no CC=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-gcc-4.2.1 CFLAGS="-pipe -std=c99 -Wno-trigraphs -fpascal-strings -O0 -Wreturn-type -Wunused-variable -fmessage-length=0 -fvisibility=hidden -miphoneos-version-min=3.1.2 -gdwarf-2 -mthumb -I/Library/iPhone/include -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk -mdynamic-no-pic" CPP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp AR=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar AS=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/as LIBTOOL=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/libtool STRIP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/strip RANLIB=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ranlib

実際には正常に構成およびコンパイルされますが、Xcode Frameworks セクションに追加すると、警告が表示ld: warning: in /path/to/app/libzmq.a, file was built for unsupported file format which is not the architecture being linked (armv7)され、多くのシンボルが見つからないというエラーが発生します。

現在アクティブなアーキテクチャを armv6 から armv7 に変更すると、警告メッセージがそれを armv6 に変更します。私は何を間違っていますか?

ありがとう、ダン

0 投票する
6 に答える
7912 参照

python - ZeroMQワーカーはどのようにして安全に「電話を切る」必要がありますか?

私は今週ZeroMQを使い始めましたが、Request-Responseパターンを使用するときに、メッセージをドロップしたり、そのメッセージを送信した顧客にメッセージを送信させたりせずに、ワーカーが安全に「電話を切って」ソケットを閉じる方法がわかりません。応答。次のようなPythonで記述されたワーカーを想像してみてください。

私は実験を行ってきましたが、均等化キューイングのリクエストを行う127.0.0.1:9999ソケットタイプの顧客zmq.REQは、均等化キューイングアルゴリズムが最後の作業を行った直後で、send()実行される前に上記のワーカーを選択するという不幸を抱えている可能性があることがわかりました。次のclose()方法。その場合、要求はワーカープロセスのØMQスタックによって受信およびバッファリングされclose()、ソケットに関連付けられているすべてのものを破棄すると要求は失われるようです。

ワーカーが「安全に」切り離すにはどうすればよいですか。「メッセージはもう必要ありません」というシグナルを送信し、(a)シグナルの送信中に到着した最終メッセージをループし、(b)応答を生成する方法はありますか。次に(c)close()メッセージが破棄されないことを保証して実行しますか?

編集:私が入りたい生の状態は「ハーフクローズ」状態であり、それ以上のリクエストを受信することはできず、送信者はそれを知っていると思いますが、チェックできるようにリターンパスはまだ開いています最後に到着した1つのメッセージの着信バッファーで、バッファー内にメッセージが存在する場合はそれに応答します。

編集:良い質問に答えて、応答を待機している接続が多数ある可能性があるため、待機中のメッセージの数が複数になるように説明を修正しました。

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

networking - ブロッキング操作と ZeroMQ

シングルスレッドのサーバー プロセスが CPU を集中的に使用する操作を実行する分散システムを設計しています。これらの操作は、ZeroMQ ネットワーク メッセージによってトリガーされます。

シングルスレッド プロセスが CPU を集中的に使用する作業を実行している場合、I/O (ZeroMQ ソケット) はブロックされますか?

ありがとう!

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

append - 追加のみのサーバーパフォーマンス

私は学習目的で小さなWebサーバーを構築しています。

着信POSTリクエストごとに、コンテンツをファイルに追加することを計画しています。

  • ファイル追加プロセスとの通信にZeroMQソケットを使用しています。ファイル操作(fopen、fseek)に特別な注意を払う必要がありますか?

  • 典型的なAmazonEC2インスタンスと、各リクエストに最大1kbがあることを考えると、サーバーは1秒あたり何回のファイル追加操作を処理できますか?

ありがとう!

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

c# - ZeroMQ / ØMQ / 0MQ 始めるには?

C# Bindingを使用して、Windows で ZeroMQ / ØMQ / 0MQ (好きな方) を使用しようとしています。初心者向けの教材はありますか?C# Binding サンプル (local_lat / remote_lat) を実行するには、Windows などで ZeroMQ DLL を登録する必要がありますか?

更新: 数時間後、Ubuntu 10.04 で zeromq / ruby​​ が動作するようになりました。Ubuntu 10.04 に zeromq / ruby​​ をインストールする方法を示すこのブログ投稿にコメントを残しました。しかし、Windows / C# .NET で単純なサンプルを実行する方法をまだ見つけようとしています。

ubuntu 10.04にrvmをインストールします

http://www.christopherirish.com/2010/08/25/how-to-install-rvm-on-ubuntu-10-04/

zeromqをインストールする

http://gist.github.com/574656

zeromq のインストール後にエラーが発生した場合は、これを試してライブラリを更新してください。

http://www.apparatusproject.org/blog/tag/zeromq/

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

queue - ZeroMQ ベースの分散システム

次のデータフローを持つ分散システム:

  1. クライアントは、分散システム内のランダムなノードにメッセージを送信します。
  2. ノードは、自分が操作を実行できるかどうかを確認します。そうでない場合は、メッセージを他のノードに送信します。そして、プロセスは正しいノードまで続きます。

したがって、システムには次のフローがあります。

クライアント -> nodeX -> nodeY -> nodeZ

(nodeX から) クライアントに OK シグナルを送信したい場合、プロセスは ZeroMQ を使用してブロックされますか?

ありがとう!

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

sockets - ZeroMQの設計上の決定

REQ / REPソケットでは、ソケットがデッド(切断された)ノードに要求を送信すると、メッセージは配信されず、メモリを占有しているメッセージキューにとどまります。これらの未配信のメッセージ(たとえば、1分以上キューにあるメッセージ)をどのようにクリーンアップできますか?

ありがとう!