Я хотел получить отзывы о правильности моих оценок и проблем.
Я уже три раза собираю три службы распространения данных, AMQP и ZeroMQ для создания уровня передачи данных в центре обработки данных. Все три выглядят многообещающими, но в некоторых случаях я столкнулся с некоторыми проблемами блокировки.
Чтобы указать контекст, мои требования:
- Масштабировать до 500 + физических узлов, 1000+ издателей и подписчиков.
- Поддержка долговременной доставки сообщений, чтобы заботиться о неудачных подписчиках.
- Суммарная пропускная способность должна быть к северу от 1 миллиона сообщений в секунду
Проблемы с AMQP:
- Архитектура Broker, по-видимому, является узким местом и центральной точкой отказа во всей установке развертывания. Я могу усложнить мое развертывание, поставив федерацию и кластер для повышения производительности и доступности ожидающих сообщений, но они по-прежнему не являются отказоустойчивыми.
- Производительность для прочных очередей кажется очень меньше. Мое приложение-образец может обрабатывать только сообщения 6-7K/core/queue/application.
Проблемы с ZeroMQ:
- Документация, похоже, немного нуждается в глубине.
- Поведение системы для ожидающих сообщений, похоже, вызывает проблемы в модели связи PUB/SUB. Пожалуйста, обратитесь к: Как zeromq обрабатывает медленных потребителей с режимом PUB/SUB
OpenSplice DDS: Я не нашел ничего недостающего в протоколе DDS, кроме принятия в отрасли. Хотелось бы узнать из первых рук обзор этого продукта с точки зрения стабильности, производительности или ограничений.