对于storm-starter中的一个简单的字数统计程序,逻辑相当简单:
1)将句子分成单词
2)发出每个单词
3)聚合计数(将计数存储在地图中)
但是这里有两个问题:
1)程序使用12个单独的线程来执行聚合部分,也就是说count不是GLOBAL,我们要多加一层才能得到全局count?
2)在bolt中,maps是用来存储count的,也就是说它有状态,如果当前worker失败了,bolt中存储的count都没有了怎么办?因为storm是无状态的
3)我们应该使用Trident来实现这个吗?