Распределенная система на основе ZeroMQ

В распределенной системе со следующим потоком данных:

  1. Клиент отправляет сообщение для случайного узла в распределенной системе.
  2. Узел проверяет, может ли операция быть выполнена им. Если нет, отправляет сообщение другому узлу. И процесс следует до тех пор, пока не появится правильный узел.

Таким образом, система имеет следующий поток:

клиент -> nodeX -> nodeY -> nodeZ

Если я хочу отправить сигнал OK клиенту (от nodeX), будет ли процесс блокироваться с помощью ZeroMQ?

Спасибо!


person carlosalbertomst    schedule 21.09.2010    source источник


Ответы (1)


Обычно zmq_send не блокирует, но в некоторых случаях может блокировать См. обзор здесь , зависит от типа используемого сокета.

Сообщения будут поставлены в очередь, если узел, на который вы отправляете, недоступен/медленно читает/медленная сеть или передача и т. д. определенного размера, этот порог называется ZMQ_HW.

Блокирует ли zmq_send() или отбрасывает сообщения, когда сообщения ZMQ_HW поставлены в очередь, вы можете увидеть в zmq_socket. упомянутая выше документация.

person nos    schedule 21.09.2010