对于Storm,有一个相对比较重要的概念就是 "Guarantee no data loss" -- 可靠性
很明显,要做到这个特性,必须要tracker 每一个data的去向和结果,Storm是如何做到的?
那就是我们接下来要说的 Acker 机制,先概括下Acker所参与的工作流程
1 Spout 创建一个新的Tuple时候,会发射一个消息通知acker去跟踪;
2 Bolt 在处理Tuple成功或者失败的时候,也会发送一个消息通知Acker
3 Acker会回调发射该Tuple的Spout其Ack ,fail方法
一个tuple被完全处理