У меня есть небольшой кластер одноранговых узлов (например, 10 узлов), которые уже публикуют и подписываются на сообщения. Это работает нормально. Кластер статичен, и каждый узел знает адреса других узлов.
В моем случае использования мне также нужно, чтобы все узлы могли отправлять сообщения любому конкретному узлу, и все узлы должны прослушивать сообщения, адресованные им. Передающему узлу не нужен ответ, он не должен ждать ответа и ему не нужно знать, что другой узел получил сообщение.
Какие шаблоны и типы сокетов можно использовать для реализации этого?
Я новичок в ØMQ и просмотрел шаблон Freelance из руководства, подробнее в частности, Модель 3 – сложная и неприятная. Уместен ли в моем случае описанный там подход ROUTER-ROUTER?
Я думаю о том, чтобы каждый узел привязывался к сокету ROUTER, устанавливая свой адрес как идентификатор (и «опрашивая» его в своем цикле сообщений), а также позволяя узлу отправлять данные через сокет ROUTER, указывая адрес принимающего узла как идентификатор.
Я пропустил какой-то более простой способ сделать это? Использование описанного выше подхода кажется немного сложным, поскольку мне действительно не нужна процедура рукопожатия, дающая принимающей стороне возможность отправить ответ.