Im заинтересовался концептуальной эффективностью 1-n против многопоточности в ZMQ.ZMQ 1-n в очереди на многопоточность
позвольте мне начать, давая conseptual проблему:
У меня есть 20 клиентов и один сервер. (Я буду использовать разъемы push и pull для удобства, но им интересно, если ответ будет изменен с rep, req, дилером, маршрутизатором).
Если клиенты имеют push-разъемы и сервер, то все сообщения попадают в одно нажатие на сервер. ZMQ будет честно размещать push-сообщения на сервере, а контексту может быть задан аргумент инициализации для количества используемых потоков.
Но что происходит под капотом? это опрос входов или многопотоковых сообщений между ними. Принесут ли какие-либо выгоды от их многопоточности?
Я вижу три способа сделать описанную выше систему (20 клиентов на одном сервере).
1) используйте один разъем на сервере и нажимайте на каждого клиента.
2) используйте 20 разъемов на сервере, используя опрос zmq, чтобы выбрать из них действия. клиенты по-прежнему имеют push-разъем.
3) использовать 20 тяговых игроков на сервере каждый в пределах своей собственной нити (например, 20 потоков). Клиенты имеют одинаковые 20 точечных разъемов (по 1 штуки).
Я понимаю, что не используя вариант 1, теряющий динамический характер вновь присоединенных клиентов, а опция 2 удаляет честную очередь, но им просто интересно в эффективности.
Это мой вопрос, потоки клиентов? или просто использовать zmq 1-n?
Добро пожаловать в Переполнение стека. Пожалуйста, найдите время, чтобы прочитать [The Tour] (http://stackoverflow.com/tour) и обратитесь к материалу из [Справочного центра] (http://stackoverflow.com/help/asking) о том, что и как вы можете спросите здесь. –
Ваш вопрос, кажется, лучше спросить в [SE Software Engineering] (http://softwareengineering.stackexchange.com/). –
@ πάνταῥεῖ при обращении к другим сайтам, часто бывает полезно указать, что [перекрестная публикация неодобрительно] (http://meta.stackexchange.com/tags/cross-posting/info) – gnat