在 Storm 中,是否可以为一个 spout 启用元组确认并为同一拓扑中的另一个 spout 禁用?

In Storm is is possible to enable tuple acking for one spout and disable is for another spout in the same topology?

如果我有一个带有两个喷口的风暴拓扑,可以在一个中启用元组确认并在另一个中禁用它。 为什么我想要这个是因为我想增加吞吐量并且我愿意放弃其中之一的消息处理保证。

是的。您实际上可以 enable/disable 以元组为基础进行确认。在 collector.emit(...) 上,您可以提供消息 ID(启用确认)或省略消息 ID(禁用确认)。

对于其余的拓扑结构,您无需再关心这种差异。如果您使用没有 ID 的元组作为锚点或确认它,Storm 将忽略这些调用并继续进行。