Разница между Apache Storm и LMAX Disruptor

Каковы контрастные различия между Apache Storm и LMAX Disruptor? Оба решают разные проблемы вместе? Если так, то кто они? Я изучал Apache Storm пару дней и вижу некоторое сходство с LMAX Disruptor. Хотя LMAX Disruptor используется для передачи сообщений между потоками, события, которые выполняют некоторую обработку данных, связаны друг с другом (например, дерево, ромб, треугольник, простая последовательность). Точно так же Spouts Storm соединены в цепочку с несколькими Bolts, которые выполняют некоторую обработку данных, данные передаются от одного болта к другому до тех пор, пока не останется болтов. Это не похоже на LMAX Disruptor или я неправильно вижу? Кроме того, может ли Apache Storm работать быстрее с огромным объемом данных, как LMAX Disruptor?


person Vijay Veeraraghavan    schedule 19.03.2015    source источник


Ответы (3)


Disruptor — это высокопроизводительная структура данных для передачи сообщений между потоками.

Apache Storm предназначен для передачи сообщений между процессами (возможно, на разных физических машинах).

Они пытаются решать принципиально разные задачи, обмен сообщениями между потоками — v — обмен сообщениями между процессами.

person Sam Turtel Barker    schedule 07.04.2015
comment
Это неверно, так как Storm использует Disruptor для связи между рабочими. - person Dave Hillier; 03.05.2017
comment
Я думаю, что мой ответ остается в силе. Даже если Storm использует разрушителя для достижения своих целей, они нацелены на разные проблемные области и, таким образом, соответствующим образом нацеливают свои API. В реализации разрушителя нет ничего для работы с сетями, это исключительно передача сообщений между потоками. - person Sam Turtel Barker; 03.05.2017
comment
То, что вы говорите в комментарии, верно, но следующее лучше всего вводит в заблуждение: Apache Storm предназначен для передачи сообщений между процессами (возможно, на разных физических машинах). Это только часть того, что он делает, другая часть фактически действительно использует Disruptor. michael-noll.com/blog /2013/06/21/ - person Dave Hillier; 04.05.2017

Вы можете сказать, что storm — это упрощенный высокоуровневый API, который использует внутри себя разрушитель LMAX с дополнительными хорошими функциями, такими как гарантированная обработка сообщений, подтверждение, обработка сбоев (уровень машины, рабочий уровень), простые в использовании распределенные вычисления.

person kartik    schedule 25.04.2015