Подтвердить что ты не робот

Разница между pub-sub и push-pull pattern в zeroMq

Это два изображения: http://zguide.zeromq.org/page:all.

В чем разница между этими двумя шаблонами, если мы игнорируем раковину в модели push-pull? Есть ли разница в том, как сообщение получает передачу, если да, в чем разница?

4b9b3361

Ответ 1

Разница заключается в том, что сокет PUB отправляет одно и то же сообщение подписчикам all, тогда как PUSH выполняет round-robin среди всех подключенных PULL розетки.

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

Шаблон pub/sub используется для широкого распространения сообщений по темам. Модель push/pull действительно является механизмом конвейерной обработки. Ваш пример push/pull, похоже, пытается выполнить балансировку нагрузки, что хорошо, но req/rep может быть лучше подходит для этого из-за других проблем.

Похоже, что "проблемы" здесь описаны в той же части руководства 0MQ, в которой вы получили изображение: пример использования push-pull ventilator