风暴可以重播由博尔特发出的溪流吗?

时间:2015-09-03 11:38:58

标签: apache-storm

Simple Storm Topology

使用风暴可靠的喷口,可以重放无法处理的元组流。据我所知,只能从喷口重播流。是否有可能重播从Bolt发出的流,如果该流未能被下一个螺栓处理?即如果由于某种原因“Bolt B”不可用,一旦“Bolt B”再次出现,“Bolt A”是否能够重播“Stream 2”?

1 个答案:

答案 0 :(得分:2)

Storm不支持​​。

如果Bolt B失败,则只能从Spout进行重播。让我们假设Spout发出一个由Bolt A处理的元组 t1 ,并产生一个输出元组 t2 。如果Bolt B无法处理 t2 ,则Spout可以重新发出元组 t1 ,它会被Bolt A第二次处理,导致输出元组 t2

当然,当第二次处理 t1 时,Bolt A必须产生相同的输出元组 t2 。此外,处理顺序也会改变。 Spout可以在重新发射 t1 之前发出其他元组,即Bolt B可能在失败后以不同的顺序接收元组( t2 很可能不是Bolt时的第一个元组B被收回)。