1、整体流程设计
1、通过日志收集系统将数据获取并存放到某个存储介质中,本例可以使用kafka
2、Storm程序从kafka中消费数据数据,逐条消费的日志
3、Storm程序从数据库中加载产品人员配置的任务信息
4、Storm程序计算每个任务的各项指标,各项指标的中间结果存放在Redis中
5、同步程序,按照一定的时间周期从Redis中计算每个任务的增量数据,并将增量数据存放在mysql数据库中
6、同步程序,按照每个指标的增量数据计算不同维度的基础数据
7、报表系统从Mysql数据库获取每个每个指标的基础数据进行展示
2、功能模块设计
- 数据收集模块,略
- 数据存储模块,在Kafka中创建点击流日志相关的topic
- Storm程序,该模块主要有两个个功能,
功能一:从kafka中消费数据进行实时计算,并将结果存放在Redis中
功能二:从Mysql数据库中读取配置文件并定时更新
- 同步程序,该模块主要是配置相关的定时任务,主要两个方向:方向一:从Redis中读取不同任务的增量数据保存到Mysql中。方向二:根据增量数据计算不同维度的数据。
- 报表系统,从mysql数据库中读取不同任务的维度数据进行展示,略