Frage

In einem verteilten System mit dem folgenden Datenfluss:

  1. Der Client sendet eine Nachricht für einen Zufallsknoten in dem verteilten System.
  2. Die Knoten überprüft, ob der Vorgang kann von ihm durchgeführt werden. Wenn nicht, sendet die Nachricht an andere Knoten. Und der Prozess folgt, bis die richtigen Knoten.

So hat das System die folgende Strömung:

Client -> nodeX -> nodeY -> nodeZ

Wenn ich will ein OK-Signal an den Client senden (von nodeX), wird der Prozess Block mit ZeroMQ?

Danke!

War es hilfreich?

Lösung

Normalerweise zmq_send nicht blockiert, aber es gibt Fälle, in denen es blockiert Siehe die Übersicht hier , hängt es von dem Socket-Typ Sie verwenden.

Die Nachrichten werden in eine Warteschlange gestellt, wenn der Knoten an die Sie versenden kann nicht erreicht werden / liest langsam / langsames Netzwerk oder Übertragungen etc. Sie können einen Schwellenwert setzen, was passiert, wenn die Nachrichtenwarteschlange (Nachrichten noch nicht geliefert) wird zu einer bestimmten Größe, dass Schwellen ZMQ_HW genannt werden.

Ob zmq_send () blockiert oder Tropfen Nachrichten, wenn ZMQ_HW Nachrichten in der Warteschlange sind, können Sie in der finden Sie unter zmq_socket Dokumentation erwähnt oben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top