I'm beginner in Storm and I would like to know whether I should use BaseRichBolt or BaseBasicBolt if at-most-once processing is good for me?
As I understand in case of BaseBasicBolt tuples are automatically anchored and acknowledged and in case of BaseRichBolt we have to do that ourselves. Does that mean that I should use BaseRichBolt if I want at-most-once processing?
My logic is that anchoring and acking will unnecessary make things slower, am I right?
In order to enable fault-tolerance in Storm, it is required that Spouts assign message IDs to the tuples they emit. As long as there are no message IDs assigned, acking and anchoring will have no effect.
Thus, the overhead that BaseBasicBolt has is tiny and you should not be able to measure any performance difference. Of course, using BaseRichBolt will avoid this tiny overhead at all.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With