Как лучше всего отправлять асинхронные сообщения об отсутствии ответа между одноранговыми узлами с помощью ØMQ?

У меня есть небольшой кластер одноранговых узлов (например, 10 узлов), которые уже публикуют сообщения и подписываются на них. Это работает нормально. Кластер статичен, и каждый узел знает адреса других узлов.

В моем случае использования мне также нужно, чтобы все узлы могли отправлять сообщения любому конкретному узлу, и все узлы должны прослушивать сообщения, адресованные им.Передающему узлу не нужен ответ, он не должен ждать ответа и ему не нужно знать, что другой узел получил сообщение.

Какие шаблоны и типы сокетов можно использовать для реализации этого?

Я новичок в ØMQ и просмотрел Шаблон для фрилансеровиз руководства, а точнее Модель 3 — сложная и неприятная. Уместен ли в моем случае описанный там подход МАРШРУТИЗАТОР-МАРШРУТИЗАТОР?

Я думаю о том, чтобы позволить каждому узлу привязываться к сокету ROUTER, устанавливая его адрес как идентификатор (и «опрашивая» его в своем цикле сообщений), а также позволять узлу отправлять данные через сокет ROUTER, указывая адрес принимающего узла как личность.

Я пропустил какой-то более простой способ сделать это? Использование описанного выше подхода кажется немного сложным, поскольку мне действительно не нужна процедура рукопожатия, дающая принимающей стороне возможность отправить ответ.

7
задан tle 26 March 2012 в 21:29
поделиться