2012-04-08 1 views
2

У меня есть пара рабочих, которые ждут работы. Я вижу, что в шаблоне PULL/PUSH мне нужно предоставить рабочим IP-адрес (используя протокол tcp) клиента, чтобы он мог слушать запросы оттуда. Тем не менее, в моем случае я хочу иметь много клиентов, а также, исходя из разных IP-адресов с запросами ... Поэтому в основном у меня нет статического IP-адреса, чтобы связать с PULL рабочего. Я использую неправильный шаблон или есть способ сделать это правильно?Выполнение запросов от нескольких клиентов с помощью ZMQ

ответ

3

Вам следует рассмотреть возможность использования шаблона маршрутизатора-дилера. Ваш маршрутизатор связывается с двумя концами и имеет статический IP-адрес. Он тянет от нескольких клиентов, которые подключаются к нему и толкает рабочих на другом конце. Вы можете использовать типы гнезд ROUTER/DEALER, чтобы сделать это или просто использовать дополнительный мост, используя разъемы PUSH/PULL для подключения клиентов к работникам.

+1

Этот «дополнительный» мост для типов гнезд PUSH/PULL в zmq называется «STREAMER». http://api.zeromq.org/2-2:zmq-device#toc5 – g19fanatic

+1

Да, '' STREAMER'' действительно решает проблему, и я нашел отличный рабочий пример здесь: https: // learning-0mq-with -pyzmq.readthedocs.org/en/latest/pyzmq/devices/streamer.html – Tregoreg