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