2

Zmq は非常に高速ですが、両側に各 2 ウェイ接続 (および各接続タイプ - REQ-REQ や PUB-SUB など) 用のソケットのペアがあることは、複雑なアーキテクチャにとって苦痛です。そこで、ブローカーの概念が登場します。

パターン タイプのカプセル化を提供するチャネル (たとえば名前付き接続抽象化用) を備えたブローカー ソケット。各マシンの 1 つのポートで 1 つのソケットを開き、それですべて (PUB-SUB、REQ-REP など) を実行する方法は素晴らしいでしょう。

zmqまたはその拡張機能を使用して、そのようなものをすべて作成する方法はありますか?

4

1 に答える 1

1

同じ ZMQ ソケットを使用して PUB/SUB と REQ/REP を実行することはできません。単に機能しません。ただし、ロジックを単一のコンポーネントにカプセル化して、少なくとも、 を使用して異なるソケット タイプからメッセージを受信することはできますZMQ.Poller。Python の例を次に示します。

https://github.com/imatix/zguide/blob/master/examples/Python/mspoller.py

ところで、N 対 N の PUB/SUB を実行している場合は、ZMQ プロキシ/フォワーダーを仲介として使用する必要があります。そうしないと、動的検出で問題が発生します。ここを読んでください: http://zguide.zeromq.org/page:all#The-Dynamic-Discovery-Problem

于 2013-05-22T14:20:23.807 に答える