我最近在aws上试用ApacheStorm。我创建了一个sqs喷口,它从sqs读取数据,并传递给一个cassandra螺栓以插入db。当db insert成功时,确认被发送回,消息从sqs中删除。但是当parallelism提示增加时,会多次插入一条消息。可能是因为另一个线程在确认返回到spout之前已经从sqs读取了相同的消息。我如何处理这种情况?没有平行度,速度相当慢。
我最近在aws上试用ApacheStorm。我创建了一个sqs喷口,它从sqs读取数据,并传递给一个cassandra螺栓以插入db。当db insert成功时,确认被发送回,消息从sqs中删除。但是当parallelism提示增加时,会多次插入一条消息。可能是因为另一个线程在确认返回到spout之前已经从sqs读取了相同的消息。我如何处理这种情况?没有平行度,速度相当慢。
1条答案
按热度按时间8zzbczxx1#
您只需增加amazonsqs中的visibility timeout属性。因此,在超时超过一个线程执行作业后,其他线程才可以看到它。
查看以下视频了解更多信息。https://www.youtube.com/watch?v=rxnuiofaxac