我不明白如果消息进程只能执行一次,那么应该使用trident是什么意思

b5lpy0ml  于 2021-06-24  发布在  Storm
关注(0)|答案(1)|浏览(367)

我不明白,如果消息进程必须只处理一次,那么应该使用三叉戟是什么意思?我可以在baserichspout上使用ack()和fail()只处理一次消息吗?如果我不需要三叉戟的功能(例如groupping,jonning…),我可以使用baserich吗?

jq6vz3qz

jq6vz3qz1#

storm支持“至少一次”进程,因为失败的消息将从一开始就被再次处理,这将导致一些重复。
三叉戟是一种支持“精确一次”过程的方法。
所以如果你在Storm中只需要处理一次信息,你就必须使用三叉戟。

相关问题