Search code examples
javaapache-stormstream-processing

Apache Storm in non-distributed scenarios


I'm developing an application that processes transactions that contain fragments of serialized messages. It reads, groups and concatenates, and pushs them to subscribed readers after deserializig them.

The different tasks (reading, grouping, deserializing) are implemented as dedicated components that interface each other via BlockingQueue.

The application is multi-threaded, but does not have a distributed architecture.

Question Is Apache Storm also deployed in non-distributed systems such as this?


Solution

  • There's nothing preventing you from running a single-node Storm cluster, but I don't see why you would. Most of Storm's complexity (e.g. scheduling, heartbeating, acking) comes from wanting to be able to distribute work across many physical machines. If you don't need to run more than one machine, I don't think you're gaining anything by using Storm.