Я использую zmq для разработки распределенного приложения, имеющего следующую сетевую топологию: клиентский узел, который инициирует запрос и узел сервера, который отвечает на запросы. Поскольку клиент является приложением node.js, я не могу заблокировать после вызова отправки, чтобы ждать ответа, поэтому сценарий заключается в том, что клиент может испускать несколько вызовов отправки на ту же конечную точку. С другой стороны, сервер представляет собой мобильное приложение, которое обрабатывает один запрос времени в одном потоке, блокируя, если нет запросов. Если эта конфигурация звучит странно, я пытаюсь создать своего рода RPC, инициированный сервером на мобильный.Шаблон ZeroMQ для множественных асинхронных запросов к одной конечной точке
Я думал использовать клиентскую сторону разъема DEALER и серверную часть сокета REP. Из руководства zmq о комбинации DEALER/REP:
Это дает нам асинхронный клиент, который может разговаривать с несколькими серверами REP. Если мы перепишем клиент Hello World с помощью DEALER, мы сможем отправить любое количество запросов «Hello», не дожидаясь ответов.
Может ли он применяться к асинхронному клиенту, который может разговаривать с одним сервером? И может ли это быть хорошим выбором? Если нет, какой шаблон я должен использовать?