前端埋码
背景
一个软件发展到一定程度时,需要有运营,运营需要获取用户的页面留存和点击次数等等数据,这些数据就需要埋点调用SDK或者相应的接口来入库或者日志写硬盘来存储。埋点请求一般是异步的,才不会影响到主流程。总的来说有几个原因:
- 用户行为分析
- 用户画像生成
- PV/UV 运营数据实时刷新
- 运维数据
技术方案
- 全埋码
- 手动埋码 手动调用接口,一般需要提炼成SDK或方法,并且制定统一的上报接口和策略
- 可视化埋码 通过web端工具,录制埋码的动作,进行上报
数据落盘
一般埋点的日志数据都直接存到数据库中,经过清理后存到大数据的对应的Hbase中。
流程
前端调用接口 -> nginx -> web应用 -> Flume -> kafka -> Flume
技术方案
实时计算
flink 或者 Storm 实时计算 PV(Page view 页面点击量)和UV(Unique Visitor, 独立访客)
指定化报表计算
存入Hadoop,跑mapReduce 最后存入Hbase中。
from 《尚硅谷 大数据分析数据仓库项目实战》