Я проектирую архитектуру паба / юга с использованием ZMQ. Мне нужна максимальная надежность и масштабируемость, и я как бы теряюсь в адских возможностях.
На данный момент я получил набор издателей и подписчиков, связанных брокером. Брокер - это простое устройство пересылки, открывающее интерфейс для издателей и сервер для подписчиков.
Мне нужно разобраться со случаем, когда брокер дает сбой или отключиться, и улучшить общую масштабируемость.
Хорошо, поэтому я подумал о добавлении нескольких брокеров, издатели закроют робота для отправки сообщений, а подписчики просто подпишутся на всех этих брокеров.
Тогда мне нужен был способ получить список возможных брокеров, поэтому я написал службу имен, которая предоставляет список брокеров по запросу. Издатели и подписчики спрашивают эту услугу, к каким брокерам подключаться.
Я также написал своего рода «ленивый пират» (то есть попробуйте / повторите попытку один за другим) надежную службу имен на случай, если основная служба имен упадет.
Я начинаю думать, что я проектирую это неправильно, так как кодовая база не перестает увеличиваться в размере и сложности. Я потерян в джунглях возможностей, предоставляемых ZMQ.
Может быть, здесь можно было бы использовать что-нибудь на основе роутера / дилера?
Любой совет с благодарностью!