Каковы контрастные различия между Apache Storm и LMAX Disruptor? Оба решают разные проблемы вместе? Если так, то кто они? Я изучал Apache Storm
пару дней и вижу некоторое сходство с LMAX Disruptor. Хотя LMAX Disruptor используется для передачи сообщений между потоками, события, которые выполняют некоторую обработку данных, связаны друг с другом (например, дерево, ромб, треугольник, простая последовательность). Точно так же Spouts
Storm соединены в цепочку с несколькими Bolts
, которые выполняют некоторую обработку данных, данные передаются от одного болта к другому до тех пор, пока не останется болтов. Это не похоже на LMAX Disruptor или я неправильно вижу? Кроме того, может ли Apache Storm работать быстрее с огромным объемом данных, как LMAX Disruptor?
Разница между Apache Storm и LMAX Disruptor
Ответы (3)
Disruptor — это высокопроизводительная структура данных для передачи сообщений между потоками.
Apache Storm предназначен для передачи сообщений между процессами (возможно, на разных физических машинах).
Они пытаются решать принципиально разные задачи, обмен сообщениями между потоками — v — обмен сообщениями между процессами.
Вы можете сказать, что storm — это упрощенный высокоуровневый API, который использует внутри себя разрушитель LMAX с дополнительными хорошими функциями, такими как гарантированная обработка сообщений, подтверждение, обработка сбоев (уровень машины, рабочий уровень), простые в использовании распределенные вычисления.
Storm использует разрушитель http://www.michael-noll.com/blog/2013/06/21/understanding-storm-internal-message-buffers/
подробнее здесь: http://en.wikipedia.org/wiki/Disruptor_%28software_pattern%29< /а>