在apache storm中collect.fail做什么?

时间:2017-04-19 04:22:41

标签: apache-storm

在apache storm中,collector.fail做了什么? 它是否从源(spout)重放元组,或者它只是从发出它的最后一个螺栓重放元组? 注意:我没有锚定我的元组,所以在那种情况下会发生什么?

1 个答案:

答案 0 :(得分:2)

作为文档Guaranteeing Message Processing中的状态,元组将从生成元组的spout中重放。

  

通过将输入元组指定为要发出的第一个参数来锚定每个单词元组。由于单词元组被锚定,如果单词元组未能在下游处理,则稍后将重放树根处的spout元组。相反,让我们来看看如果像这样发出单词元组会发生什么:

     

_collector.emit(new Values(word));   以这种方式发出单词元组会使其无法解析。如果在下游处理元组失败,则不会重放根元组。根据拓扑中所需的容错保证,有时发布未锚定的元组是合适的。