如图所示,上面是最近行为采集项目的整体架构。
整体难点在于开发人员如何给事件配置条件,我们的解决方式是各个端采用统一的方式(将采集的点进行划分)将采集的点分为三层,具体埋点方式是分为项目级别,页面级别,埋点事件级别,这样埋点可以采用横切的方式进行。各个端开发人员在事件管理后台只需在本项目下增加由需求方创建的事件,给这一事件增减采集条件即可。
服务器端和各个采集端采用http请求来传输数据,这里一定需要批量上传采集数据和单条上传采集数据(我们给事件增加了一个优先级属性),优先级高的事件需要及时上传,优先级低的事件可以采用批量上传,节省流量。各个端采集数据直接通过调用lua接口进行处理,实现nginx直接上传到oss。
通过定时任务实时抓取oss中数据,然后放到mongodb中,在后台事件中显示所需数据给需求方。