Apache storm 在最多一次加工的情况下,使用BaseRichBolt或BaseCBolt

Apache storm 在最多一次加工的情况下,使用BaseRichBolt或BaseCBolt,apache-storm,Apache Storm,我是Storm的初学者,我想知道如果最多一次处理对我有利,我是应该使用BaseRichBolt还是BaseBasicBolt 据我所知,在BaseBasicBolt的情况下,元组会自动锚定和确认,而在BaseRichBolt的情况下,我们必须自己这样做。这是否意味着如果我希望最多处理一次,我应该使用BaseRichBolt 我的逻辑是,锚定和确认将使事情变得更慢,对吗?为了在Storm中实现容错,需要喷口将消息ID分配给它们发出的元组。只要没有分配消息ID,确认和锚定就没有效果 因此,BaseB

我是Storm的初学者,我想知道如果最多一次处理对我有利,我是应该使用
BaseRichBolt
还是
BaseBasicBolt

据我所知,在
BaseBasicBolt
的情况下,元组会自动锚定和确认,而在
BaseRichBolt
的情况下,我们必须自己这样做。这是否意味着如果我希望最多处理一次,我应该使用
BaseRichBolt


我的逻辑是,锚定和确认将使事情变得更慢,对吗?

为了在Storm中实现容错,需要喷口将消息ID分配给它们发出的元组。只要没有分配消息ID,确认和锚定就没有效果


因此,
BaseBasicBolt
的开销很小,您应该无法测量任何性能差异。当然,使用
BaseRichBolt
将完全避免这种微小的开销。

如果您不担心数据丢失,您可以使用BaseRichBolt,但如果您想保证消息处理,那么此时您需要使用BaseBasicBolt。在storm中,三种类型的消息处理至少一次,恰好一次,最多一次。
有用的链接:

该链接是broken@nilesh是的,它的用户似乎删除了他的帖子