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