Question

In this article Understanding the Internal Message Buffers of Storm it is mentioned that storm does internal buffering.

Now, i'm going to have a huge number of events coming into my storm topology which will have multiple layers (Bolts). The first layer will "digest" all incoming events in random manner and possibly for each incoming event will emit a new event to the next layer (Bolt to Bolt). However it is also possible for me that the first layer will only emit messages periodically (and thus instead of emitting event for each incoming event it can emit a single one every tick: let's say every second - this will reduce drastically the load on the next layer).

However as i was reading the above article, I saw that storm has internal buffering, I wanted to know if that means I don't need to mess with tick spouts because storm will already do the internal buffering for me.

Was it helpful?

Solution

I would leave any message buffering between the layers to storm. A lot of thought and effort was been put into building storm's buffering process and unless you have a strong motivation (provided by empirical evidence) I'd suggest you let it handle the buffering. Beware of premature optimization.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top