Мне нужна была обратная связь относительно правильности моих оценок и проблем.DDS vs AMQP vs ZeroMQ
Я недавно собрал три службы распространения данных, AMQP и ZeroMQ для создания уровня передачи данных в центре обработки данных. Все три выглядят многообещающими, но в некоторых случаях я сталкивался с некоторыми проблемами блокировки.
Чтобы дать контекст, мои требования:
- Scale Шифрование до 500+ физических узлов, 1000+ издателей и подписчиков.
- Поддержка долговременной доставки сообщений, чтобы заботиться о сбоях подписчиков.
- Совокупная пропускная способность должна быть к северу от 1 миллиона сообщений/сек
Проблемы с AMQP:
- Архитектура Брокер кажется узким местом и центральной точки отказа всей установки развертывания. Я могу усложнить мое развертывание, поставив федерацию и кластер, чтобы повысить производительность и доступность ожидающих сообщений, но они по-прежнему не являются отказоустойчивыми.
- Производительность для прочных очередей кажется очень меньше. Мое приложение-образец может обрабатывать только сообщения 6-7K/core/queue/application.
Проблемы с ZeroMQ:
- Документационный, кажется, немного недоставало глубины.
- Поведение системы для ожидающих сообщений, похоже, вызывает проблемы в модели связи PUB/SUB. Пожалуйста, обратитесь к: How zeromq handles slow consumers with PUB/SUB mode
OpenSplice ДДСУ: я не нашел ничего недостающего в протоколе ДДСА для принятия в промышленности, за исключением. Хотелось бы узнать из первых рук обзор этого продукта с точки зрения стабильности, производительности или ограничений.
Я подробно рассмотрю ваш вопрос позже, но теперь хочу предложить добавить тег «data-distribution-service» вместо «dds». Последний, похоже, был захвачен графическим программированием. –
Спасибо Хольгер, обновили теги. – Kisalay
Чтобы сделать связанное обсуждение ZeroMQ более утонченным: для PUB/SUB действительно существует предопределяемое ограничение для каждого абонента на размер очереди сообщений, по которому удаляются сообщения. Но есть также опция ZMQ_SWAP, с помощью которой вы можете включить обмен файлами на дисках. Quoting [1] «Тем не менее, есть выход. ØMQ предоставляет что-то, называемое >> swap <<, это файл на диске, который содержит сообщения, которые мы не можем хранить в очереди» [1] http: // zguide.zeromq.org/chapter:all – ron