storm:bolt是如何执行元组的?

storm: How does bolt executes tuple?

execute() returns时,bolt会被下一个元组执行?如果螺栓不确认前一个元组会发生什么?换句话说,我们可以在 execute() returns 之后确认元组吗?

如果bolt长时间不ack一个元组,那么默认情况下,spout会再次向下游发出父元组,bolt会再次被同一个元组执行,对吧?如果 bolt ack 已经被 spout 认为失败的旧元组会发生什么?

如果您不在 bolt 中确认输入元组,spout 可能会再次发出根元组。

是的,在执行 returns 之后确认元组是可以的,只要您在合理的时间范围内(在消息超时到期并且 spout 再次发出根元组之前)进行。

如果你确认一个已经过期的元组,它没有任何效果。