java—同一个storm Spot是否并行接收确认/失败消息

bn31dyow  于 2021-06-21  发布在  Storm
关注(0)|答案(1)|浏览(283)

我的雨嘴里有一个 Map<Object, Foo> 消息id对象及其相应的foo对象的集合。每次喷口处理 nextTuple() ,带有foo对象的消息id将添加到Map中。当在spout中调用fail时,我使用messageid对象从Map中检索foo对象并重放消息(保证消息处理)。在确认时,我从Map上删除消息。
这适用于喷口的单个示例。我正在尝试验证如果我并行处理喷口,这是否有效,也就是说,发出消息的喷口是否总是确认/失败消息,或者喷口的另一个示例是否可以接收确认/失败调用?

z5btuh9x

z5btuh9x1#

如果我正确解释了storm的保证消息处理文档,那么发出元组的喷口将始终接收ack/fail调用:
请注意,元组将由创建元组的完全相同的spout任务确认或失败。因此,如果一个喷口在集群中执行同样多的任务,那么元组不会被创建它的任务以外的任务确认或失败。”

相关问题