2
votes

What are the contrasting differences between the Apache Storm and LMAX Disruptor? Are both solving different problems all together? If so, what are they? I was learning the Apache Storm for couple of days, and I see some similarities with the LMAX Disruptor. Though the LMAX Disruptor is used to pass messages between the threads, the events that do some process on the data are chained together (like a tree, a diamond, a triangle, a simple sequence). Similarly the Storm's Spouts are chained with multiple Bolts that performs some process on the data, the data passing from one Bolt to the other till there are no more Bolts. Is this not similar to the LMAX Disruptor or do I see it wrongly? Apart from this, can the Apache Storm too can perform faster on huge volume of data like LMAX Disruptor?

3

3 Answers

4
votes

The Disruptor is high performance data structure for passing messages between threads.

Apache Storm is intended for passing messages between process (probably on different physical machines).

They are trying to solve fundamentally different problems, inter thread messaging -v- inter process messaging.

2
votes

You can say storm is simplified High level API which uses LMAX disruptor internally with additional good features like guaranteed message processing, acking, failure handling(machine level, worker level), easy to use distributed computation.