問題タブ [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.
django - pyzmqのZeroMQスワップファイルの場所を設定するにはどうすればよいですか?
私はdjangoとpyzmqを使用しています。また、HWM(最高水準点)とディスクSWAPが構成されたZeroMQPUBとSUBソケットを使用しています。ZeroMQは、djangoサイトのルートディレクトリ内にスワップファイル(zmq_10976_0.swapなど)を作成します。ZeroMQを使用するプロセスはdjangoアクションによって作成されるため、スワップファイルは単に現在のディレクトリに配置されると思います。これらのファイルを別の場所に配置するように指示するにはどうすればよいですか?そのためのプロセス全体で現在のディレクトリを変更したくありません。
node.js - node.js コールバックが複数回呼び出される
今日、node.js と zeromq バインディングをいじり始めたばかりですが、よくわからない動作が見られます。
同じマシンのポート 9000 で別の ruby ベースの zeromq REP プロセスを呼び出すサンプル コードを次に示します。
ブラウザを使用してノード サーバーにアクセスし、応答を待っています。奇妙なのは、コンソールに表示される出力が、理解していない追加的な方法で出くわしていることです。
zmqSocket.on() 呼び出しを http 要求ブロックの外に移動して、追加の動作を削除しようとしましたが、必要な要求/応答オブジェクトも含まれていません。
この演習のポイントは、応答がポート 9000 で長時間実行されている zeromq サーバー プロセスから返されるまでブラウザーを待機させることです (現在は偽造されたスリープ応答です)。
ここでコールバックを誤解しているだけだと確信していますが、このシナリオに関するドキュメントの方法で多くを見つけることができません。
助けてくれてありがとう。
qt - ZeroMQ が私のデータを食べています....しかし、たまにしかありません
そこで、クラスター アプリケーションのメッセージ パッシング プロトコルとして 0MQ を検討しています。私が必要とする一種の非同期通信を提供します。
これまでのところ、プロトタイプの作成に成功しています。いくつかの異なるタイプのパターンを使用してメッセージを送受信できます。
現在、 「ハンドシェイク」PUB/SUB
を介して初期同期で動作するパターンを取得しようとしています。REP/REQ
この方法は、ZeroMQ ガイドの「ノード調整」で説明されています。そして、この方法はかなりうまく機能します。唯一の問題は、0MQ がメッセージの約 50%、または少なくともその中のデータを消費しているように見えることです。
私は Qt を使用しているため、メッセージはQString
. QByteArray
を使用して文字列を にバイトパックしていQDataStream
ます。次に、QByteArray
「ワイヤー」の上に通し、反対側で開梱します。私はこの方法を他のプロトコル (tcp ソケットなど) を介して通信するために頻繁に使用してきましたが、うまく機能します。
PUB/SUB
viaとREQ/REP
1 つの「マネージャー」に接続する 4 つの「ワーカー」があります。ほとんどの実行では、少なくとも 1 つ、最大で 3 つの「ワーカー」が正常に同期します。ただし、そうでない場合は、空の文字列を受け取っています。
4 つのクライアントのログは次のとおりです。
alicia
:
brenda
:
carlie
:
darcie
:
ほとんどのコードは次のとおりです。
からzmqtools.cpp
からzmqworker.cpp
からzmqmanager.cpp
だから、ついに私の質問:
- このコードで何かを見落としていますか?
- ZeroMQ メッセージのパック/アンパックが間違っていますか?
- 同期の管理が
REQ/REP
間違っていませんか?
ZMQ、特に混合パターンとパターンの経験がある人からの洞察をいただければPUB/SUB
幸いPUSH/PULL
ですREQ/REP
。
ipc - どのCORBA実装を使用しますか?
一部のプロジェクトでは、SysV IPC | Posixキューは、プロセス間でデータを交換するために使用されます。誰かが私に言ったように、ソフトウェアの今後のWindowsポートでは、「IDLやCORBAのようなミドルウェアを使用しなくても、膨大な量の頭痛が発生します」。
したがって、CORBAの実装が必要です。これは、次のように十分に標準化されています。
- LinuxおよびWindows上のC++アプリケーションから利用可能
- Javaから入手可能
もう1つの問題は、パフォーマンスです。ネイティブIPCメカニズムによって提供される速度の10倍遅くならないようにする必要があります(IPCを手動で待機する応答の実装に関するすべての苦痛を伴います)。
タイムアウトのサポートも必要です(例外スローを伴うIPCバックエンドを最大2秒間待機します)。
現在、ZeroMQのIPCトランスポートの採用を検討しています。
python - 0mq1対多接続
0mqを使用してプロセス間の双方向通信を確立するための最も正しい方法は何ですか?メインプロセスからのコマンドを待機し、いくつかの計算を実行して結果をメインプロセスに戻す、いくつかのバックグラウンドプロセスを作成する必要があります。
zeromq - gevent の fd で POLLIN をリッスンする
ZeroMQ を gevent ループに接続したい。ZeroMQ API を使用して、ソケットの fd を取得できます。他の greenlet をブロックせずに、greenlet で POLLIN イベントのこのソケットを監視するにはどうすればよいですか?
zeromq - ZeroMQ のレイテンシ / メトリクスと競合他社との比較
ZeroMQ レイテンシーと 29 West LBM などの競合他社のパフォーマンスの詳細をどこで確認できるか知っている人はいますか?
かなり安いように見えますが、どちらがより適しているかを判断するための指標が見つかりません.
eclipse-plugin - Eclipse プラグイン内で zeromq を使用する
Eclipse プラグイン内で zeromq を使用しようとしています。OSGi フレームワークは、通常の外部 jar の使用を拒否します。したがって、解決策はそれらをプラグイン自体にバンドルすることです。簡単なプロセス ( http://www.vogella.de/articles/EclipseJarToPlugin/article.htmlにも記載) に従って、必要な外部 jar のいくつかを問題なく使用することができました。
しかし、jzmq.jar をバンドルしようとすると、問題が発生します。「zmq プラグイン」は簡単に作成できますが、一度使用すると、org.eclipse.ui.internal.Workbench.runEventLoop にループしてフリーズします。
Eclipse プラグイン内で zeromq を正常に使用したことがある人はいますか? この問題を解決する方法についてのヒントはありますか?
protocols - ZeroMQ+プロトコルバッファ
ZeroMQ FAQページは、メッセージコンテンツをシリアル化する方法としてGoogleのprotobufを使用することを提案しています。
誰かが良い使用例を見たことがありますか?
また、「メッセージをシリアル化する最大の利点は何ですか?」という答えを得る必要があります。-それがなくても生活でき、よりスリムなパイプラインを利用できるものかどうか。
.proto
私はファイルとprotoc
コンパイラのアイデアがとても好きです。
また、遊び場に投げるもう1つの優れたツールはlibev
、コメントを歓迎します:)
c - `msgpack_pack_int()`マクロに渡されたカウンター変数はインクリメントしません
zmqとmsgpackを使用しているこの非常に単純なCプログラムを実行しようとすると、非常に奇妙な問題が発生します。
に問題はありませんがserver.c
、clinet.c:39
これがmsgpack_pack_int (&mpkg, i);
あり、の値は、反復ごとに変化しないi
ように取得されているようです。0
私はさまざまなことを試しましたが(たとえば、ポインターを作成して
i
それを使用したり、関数に分割したりするなど)、何も役に立たないようです。それはマクロであることがわかりますmsgpack_pack_int()
が、なぜそれがそのような振る舞いを導入するのでしょうか、そしてそれを克服するために何ができるでしょうか?この種のマクロの動作を変更する可能性のあるフラグはありますか(インライン関数に展開されるのがわかります)... -Werror -Wall
、with gcc
、およびを試しclang
ましたが、警告も表示されません;(*
私はそれをデバッグしてみてi
、期待通りにインクリメントしました。
私もこれを試しました、そしてそれはとにかく同じことをするでしょう:
私は違うはずの何かを試したことさえありますが、ここでも運がありません-
なぜこれが起こるのか誰にも分かりますか?
更新1:また、最適化フラグなしでmsgpack ライブラリ自体を再コンパイルしましたが、動作も変更されませんでした。
アップデート2: gitリポジトリからmsgpackをインストールしても、同じ問題が発生します。