说明:
1、tracking的数据来源,包括SDK数据、点击上报数据,SDK数据又分为SDK客户端上报和RestAPI上报。
2、RestAPI和SDK客户端上报的数据,都发到阿里云e302服务器。点击上报数据,优先会往阿里云的e302短链服务器发送,e302服务器检查接收到的点击的短链在缓存中不存在,会跳转到s302回源服务器,不管在e302还是s302,找到短链的点击都会跳转到对应的落地页。
3、RestAPI数据直接上报到logserver服务器。
4、SDK客户端和点击上报的数据在往logserver服务器发送过程会被NWS缓存服务器拦截,先缓存到本地,当nws打开开关时,数据nws往logserver发送;当nws关闭开关时,不发送。(nsw可以缓存100G的数据)
5、logserver接收到数据后,进行数据分发,数据会根据业务需求,发往kafka的不同topic。
6、实时计算的jstorm任务从kafka的topic中取出数据,进行归因处理,处理完成后,对于需要点击透传的点击事件以及归因后需要回调的激活/注册/付费事件,发送到kafka的回调topic。
7、实时计算处理完成后,统计数据会入库hbase,用于归因排重的信息会入库到redis。
8、stat_exporter服务会定时从hbase中导出统计数据并入库到tracking的mysql数据库。
9、logserver日志会定时上传到hdfs集群。
10、zakaban调度平台上配置的离线任务,会对logserver日志进行处理,分别计算设备留存、设备ltv、帐号留存、帐号ltv。
11、离线计算完成后入库到hive。
12、trackv2task服务定期从hive导出前一天的离线计算结果入库到tracking的mysql数据库。
13、callback回调服务会实时从kafka的回调topic中取到需要回调或点击透传的消息,进行激活/注册/付费回调或点击透传。
14、tracking的web后台从mysql及hbase中查询数据并展示,实时模块从hbase查。
15、tracking通过OpenAPI向外部(主要是adt)提供api接口查询数据。
16、adt的后端服务定时从tracking的数据库同步数据。