在storm中使用实时保存会对性能带来很大的考验,所以在很多场景中还是使用定时保存;而且storm自带了定时功能,使用方式如下:
首先在topo中的config中定义一个通信时间,定义方式如下:
conf.put(Config.TOPOLOGY_TICK_TUPLE_FREQ_SECS, 60);
if (tuple.getSourceComponent().equals(Constants.SYSTEM_COMPONENT_ID)&& tuple.getSourceStreamId().equals(Constants.SYSTEM_TICK_STREAM_ID)) {//保存缓存的列表信息,并清空}}else{//做正常的操作}