Я хочу реализовать приложение распределения данных с использованием zeromq или nanomsg или aeron.net, или OpenDDS или OpenMAMA, я немного запутался, какой из них подходит, поскольку мое требование - поддерживать от 500 до 1000 пользователей, и каждый пользователь может подписаться как минимум на 100 тем.
с этим можно справиться с помощью шаблона pub / sub или мне нужно использовать многоадресную рассылку UDP?
Также мне нужно развернуть это приложение на Amazon EC2.
"Can ( this ) be handled by using pub/sub pattern or( do ) I have to use UDP multicast?"
Масштабируемый формальный шаблон связи PUB/SUB
сообщает, как агенты ведут себя друг с другом.
Принимая во внимание, что
, многоадресная рассылка UDP сообщает, какой технический транспортный класс может быть предпочтительнее для использования, то есть любой из { pgm:// | epgm:// }
из всех технически доступных { inproc:// | ipc:// | tcp:// | pgm:// | epgm:// | vmci:// }
Наконец,
, PUB/SUB
может работать поверх { pgm:// | epgm:// }
, поэтому конструктор выбора "или же" в принципе не подходит.
Ни ZeroMQ, ни nanomsg (с учетом реализаций, доступных в 2018-Q1) не будут иметь проблем с механикой PUB/SUB
для ~ 1000 пользователей x 100+ тем.
Для получения дополнительной информации можно прочитать замечательные технические подробности Мартина Сустрика о том, как и почему тематические фильтры работают на любой из этих платформ. Он, будучи отцом обеих этих систем сигнализации / обмена сообщениями, вряд ли мог бы спросить лучшего или более проницательного человека по этому предмету и его ограничениям.
Выражая свое предыдущее знакомство с FinTech / FIX-протоколом / торговыми платформами, вы должны иметь достаточно опыта, чтобы принимать дальнейшие решения по основным вопросам.
Легкий. Сделай это. Если возникнут проблемы, перечитайте документацию по платформе и сначала обратитесь к поставщику услуг.
Спасибо за ваш ответ. Извините, я не смог уточнить свой вопрос. на самом деле я хотел знать, что сокеты pub / sub, предоставляемые zeormq или nanomsg, могут обрабатывать эту нагрузку с использованием протокола tcp, или мне нужно использовать pgm / epgm. При использовании pgm / epgm я вижу сложность управления сетью