我对使用风暴很困惑。我将使用其流数据来测量数据源的状态。状态将与某些字段的组合计算,并且这些字段可以实现不同的时间间隔。这就是为什么我需要保存字段来测量数据源的状态。
我可以使用BaseStatefulBolt吗?或者唯一的解决方案是这个cenario的三叉戟?
他们有什么区别。因为三叉戟里面也有一个状态。
谢谢。
答案 0 :(得分:0)
我认为差异是三叉戟比BaseStatefulBol更高级别,它有一些选项来计算group by,persistentAggregate,aggregate。
我使用三叉戟计算每个用户的总观看次数。如果我们只关心当前的总计数,我想我们可以通过使用MemoryMapState.Factory()和类实现动作来计算或求和来使用trident。
在你的情况下你需要管理一些当前字段的状态,我认为实现BaseStatefulBolt是一个不错的选择,它有KeyValueState用于保存当前状态。