Распределенная система на основе ZeroMQ - PullRequest
0 голосов
/ 21 сентября 2010

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

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

Итак, система имеет следующий поток:

клиент -> узелX -> узел Y -> узелZ

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

Спасибо!

1 Ответ

1 голос
/ 22 сентября 2010

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

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

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

...