Thanks to visit codestin.com
Credit goes to storm.apache.org

Fork me on GitHub

Apache Storm guarantees every tuple will be fully processed. One of Apache Storm's core mechanisms is the ability to track the lineage of a tuple as it makes its way through the topology in an extremely efficient way. Read more about how this works here.

Apache Storm's basic abstractions provide an at-least-once processing guarantee, the same guarantee you get when using a queueing system. Messages are only replayed when there are failures.

Using Trident, a higher level abstraction over Apache Storm's basic abstractions, you can achieve exactly-once processing semantics.