gpt4 book ai didi

java - 相同的 Storm spout 是否并行接收已确认/失败的消息

转载 作者:行者123 更新时间:2023-12-01 10:49:26 36 4
gpt4 key购买 nike

我的 Storm Spout 包含 Map<Object, Foo>消息 Id 对象及其对应的我发出的 Foo 对象。每次 spout 处理 nextTuple() 中的消息时,带有 Foo 对象的消息 Id 被添加到 map 中。当 Spout 中调用失败时,我使用消息 Id 对象从映射中检索 Foo 对象并重播消息(保证消息处理)。确认后,我从 map 中删除该消息。

这适用于 Spout 的单个实例。我正在尝试验证如果我并行化 Spout 是否可行,即消息是否总是由发出它的 Spout 确认/失败,或者 Spout 的另一个实例是否可以接收 ack/fail 调用?

最佳答案

如果我正在解释 Storm 的 guaranteed message processing如果文档正确,那么发出元组的 Spout 将始终收到 ack/fail 调用:

“请注意,元组将被创建它的完全相同的 Spout 任务确认或失败。因此,如果 Spout 在集群中执行同样多的任务,则元组不会被与该元组不同的任务确认或失败。创造它的人。”

关于java - 相同的 Storm spout 是否并行接收已确认/失败的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34003618/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com