我们的产品会收集一些用户行为数据到后端供产品研究巴拉巴拉。
目前的架构很简单,当用户产生行为后,前端获取后 ajax 请求 API 发送到后端,后端 server 程序写一个 event 事件到数据库。
这样做前端很痛苦的,用户每产生一个行为,都要组合一个 json ,涵盖行为名字、触发实践以及各种状态,信息臃肿不堪。后端 API 压力大,数据库查询也因为量级太大导致各种慢查询。
其实,我不知道这个埋点收集方式,有什么术语去搜,胡碰乱撞期间发现一个关键字'collect metrics',似乎很接近‘收集埋点’,但很多文章说 collect metrics 趋向于服务器监控的味道。
继续调研发现, MixPanel 果然是业界首选。艾玛,我想做的其实就是一个自家版的 MixPanel 。
顺着这个思路,发现一些很成熟的技术栈'ELK'以及'TICK':
ELK: elastic.co
TICK: influxdata.com
基本锁定,如果想山寨一个 mixpanel 就是这样的技术选型了。
大概看了一下 ELK 应该已经比 TICK 成熟,但 TICK 技术栈的组合又似乎 born from collect 。
技术选型依然迷茫,甚至都不知道二选其一是否靠谱,如果大家有接触过行为收集的,诚恳求建议。
有可能埋点收集与交互完全解耦吗?
埋点信息,该如何设计才是最佳实?
整个流,该如何搭配,如何工作吗?
你们现在是如何做的呢?