Я тестирую ZeroMQ как Pub-Sub (стиль служебной шины) для средней системы. У нас около 50 узлов, все они должны быть издателями и подписчиками. Сеть похожа на звездную топологию, но края "разговаривают" друг с другом. Нам требуется динамическое обнаружение (нет необходимости жестко программировать сетевые адреса участников), но также нет SPOF (Single Point of Failure).
Я прочитал http://zeromq.org/whitepapers:0mq-3-0-pubsub и, насколько я понимаю, предлагаемый способ для динамического обнаружения 0MQ включает прокси node (XPUB/XSUB), который пересылает подписки и публикации. Я рассматривал использование такого прокси-сервера как центрального посредника в нашей системе, однако у меня есть следующие проблемы с этой архитектурой: (A) Прокси node является SPOF - когда он терпит неудачу, вся система не работает (B) Весь трафик, включая данные, проходит через прокси node, что означает проблему с задержкой и производительностью.
Предполагая, что я правильно понял технический документ pub-sub, существует ли относительно простой способ достижения pub-sub + dynamic-discovery + no-SPOF в ZeroMQ?
Дополнительная точка: я исключил решение многоадресной рассылки (PGM), потому что большинство сообщений имеют одну/несколько заинтересованных сторон, и мы не любим переполнять сеть.