Мое понимание LMAX Disruptor состоит в том, что это полный JAR-файл. пугающе-быстрого, пугающе-параллельного Java-кода, обеспечивающего пропускную способность 20 миллионов сообщений в секунду (при правильном использовании).
В настоящее время у нас есть экземпляр ActiveMQ, который работает медленно для того, что нам нужно, порядка 400 сообщений в секунду. Мне интересно, выиграем ли мы от рефакторинга нашего кода для использования LMAX, но есть следующие проблемы:
- Как иметь 1 издателя и несколько (конкурирующих) потребителей
- Как LMAX хранит/размещает свои сообщения? В памяти?
- Аварийное переключение — есть ли в LMAX протоколы/механизмы аварийного переключения?
- Дисковый ввод-вывод — может ли LMAX сохранять неиспользованные сообщения на диск и восстанавливать их позже?
И, если я совершенно не согласен со всем этим и, похоже, совершенно неправильно понимаю использование LMAX Disruptors, то может ли кто-нибудь привести конкретный пример того, когда он будет использоваться? Заранее спасибо!