Ответ 1
Разница заключается в том, что сокет PUB
отправляет одно и то же сообщение подписчикам all, тогда как PUSH
выполняет round-robin среди всех подключенных PULL
розетки.
В вашем примере, если вы отправляете только одно сообщение из корня, то все его абоненты получат его (запрет медленных подписчиков и т.д.), но только один рабочий.
Шаблон pub/sub используется для широкого распространения сообщений по темам. Модель push/pull действительно является механизмом конвейерной обработки. Ваш пример push/pull, похоже, пытается выполнить балансировку нагрузки, что хорошо, но req/rep может быть лучше подходит для этого из-за других проблем.
Похоже, что "проблемы" здесь описаны в той же части руководства 0MQ, в которой вы получили изображение: пример использования push-pull ventilator