如何在具有多个螺栓从同一壶嘴阅读风暴处理ACKING
问题描述:
我的拓扑结构是这样的:如何在具有多个螺栓从同一壶嘴阅读风暴处理ACKING
Data_Enrichment_Persistence_Topology
所以基本上我想在这里解决的问题是,每一次的任何问题进来停止或加载服务螺栓,并且元组失败,它重放并且喷口重新发射它。这使Cassandra螺栓重新处理元组并重写数据。
我不能让元组在加载和停止螺栓unanchored,因为我需要它们在任何故障的情况下重播。不过,我只想获得重播的较高工作流程。
我正在使用KafkaSpout发射数据(它在“默认”流上发射它)。不知道如何在Kafka Spout的排放级别复制流。
如果我可以复制流,那么两者中的任何一个上的重播只会在喷口级别上重新发送特定流上的消息,而另一个流则保持不变?
TIA!
答
您需要在Spout中使用两个输出流 - 每个下游传球一个。此外,您将每个元组发送到两个流(使用不同的消息ID)。
因此,如果一个失败,你可以回复这个元组到这个流。
是的,但如果我们使用的是KafkaSpout,我们无法控制到那个水平 – Tanvi
您可以自定义KafkaSpout ...(这是开源的美)也许不是最简单的方法,但我没有其他想法。 –