
說明:
1、tracking的數(shù)據(jù)來源,包括SDK數(shù)據(jù)、點擊上報數(shù)據(jù),SDK數(shù)據(jù)又分為SDK客戶端上報和RestAPI上報。
2、RestAPI和SDK客戶端上報的數(shù)據(jù),都發(fā)到阿里云e302服務器。點擊上報數(shù)據(jù),優(yōu)先會往阿里云的e302短鏈服務器發(fā)送,e302服務器檢查接收到的點擊的短鏈在緩存中不存在,會跳轉(zhuǎn)到s302回源服務器,不管在e302還是s302,找到短鏈的點擊都會跳轉(zhuǎn)到對應的落地頁。
3、RestAPI數(shù)據(jù)直接上報到logserver服務器。
4、SDK客戶端和點擊上報的數(shù)據(jù)在往logserver服務器發(fā)送過程會被NWS緩存服務器攔截,先緩存到本地,當nws打開開關(guān)時,數(shù)據(jù)nws往logserver發(fā)送;當nws關(guān)閉開關(guān)時,不發(fā)送。(nsw可以緩存100G的數(shù)據(jù))
5、logserver接收到數(shù)據(jù)后,進行數(shù)據(jù)分發(fā),數(shù)據(jù)會根據(jù)業(yè)務需求,發(fā)往kafka的不同topic。
6、實時計算的jstorm任務從kafka的topic中取出數(shù)據(jù),進行歸因處理,處理完成后,對于需要點擊透傳的點擊事件以及歸因后需要回調(diào)的激活/注冊/付費事件,發(fā)送到kafka的回調(diào)topic。
7、實時計算處理完成后,統(tǒng)計數(shù)據(jù)會入庫hbase,用于歸因排重的信息會入庫到redis。
8、stat_exporter服務會定時從hbase中導出統(tǒng)計數(shù)據(jù)并入庫到tracking的mysql數(shù)據(jù)庫。
9、logserver日志會定時上傳到hdfs集群。
10、zakaban調(diào)度平臺上配置的離線任務,會對logserver日志進行處理,分別計算設(shè)備留存、設(shè)備ltv、帳號留存、帳號ltv。
11、離線計算完成后入庫到hive。
12、trackv2task服務定期從hive導出前一天的離線計算結(jié)果入庫到tracking的mysql數(shù)據(jù)庫。
13、callback回調(diào)服務會實時從kafka的回調(diào)topic中取到需要回調(diào)或點擊透傳的消息,進行激活/注冊/付費回調(diào)或點擊透傳。
14、tracking的web后臺從mysql及hbase中查詢數(shù)據(jù)并展示,實時模塊從hbase查。
15、tracking通過OpenAPI向外部(主要是adt)提供api接口查詢數(shù)據(jù)。
16、adt的后端服務定時從tracking的數(shù)據(jù)庫同步數(shù)據(jù)。