04|数据结构(上):如何设计全链路数据模型
唐俊开
你好,我是三桥。
上节课,我简单介绍了前端全链路的 3 要素和 14 条路径。在 14 条路径里面,数据指标占了一大部分,一共有 7 种不同大类的指标类型数据。那这些指标类型要怎么用起来呢?
想想咱们工作的时候,有些前端同学会觉得,要做到快速发现问题和定位问题非常困难。而且需要大量的日志记录每段代码的异常。虽然大量的记录能帮忙解决问题,但也增加了服务器成本。
我认为,要高效解决问题,就不要只关注日志的成本,相反地,我们应该设计一套更优的字段来解决日志量大和存储量多的问题。
设计的思路,我把它称为“最少字段原则”。
如何定义链路日志数据结构?
做过解决方案设计的同学都知道,一份经过精心设计的数据结构,是需要在写代码前就做好规划的。这样后续的需求迭代也能有更好的扩展性。
这节课,我们首先学习如何用最少字段原则设计基础数据类型的指标。实际上,基础数据指标是全链路日志中的通用数据,也是其他 6 种指标数据类型必备的字段。
基础数据类型中一共有 17 个属性字段,又细分为 5 种类别:基本日志信息、浏览器信息、页面信息、用户信息、业务信息。
我们一个一个来说。
基本日志信息
先说基本日志数据。顾名思义,这是链路日志的必要数据,包含了唯一键值、时间、类型以及最后更新时间。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
1. 数据结构设计需要遵循最少字段原则,以解决日志量大和存储量多的问题,同时提高问题定位效率。 2. 在设计全链路日志数据结构时,基础数据类型是必不可少的,包括唯一ID、日志类型、日志产生时间和最后更新时间等字段。 3. 设计pid字段用于快速查询某个用户当前访问一次前端页面时的所有链路日志,帮助判断用户在使用前端页面过程中是否有异常。 4. 用户信息的设计应该包括指纹ID、用户ID、用户名、电子邮箱等字段,以便记录用户基本信息。 5. 业务信息类型的设计需要考虑如何分类不同场景的业务,例如通过appId字段来区分前端项目。 6. 在设计链路日志字段中一直遵守一个原则:最少日志字段原则,以约束属性字段只用于协助快速定位问题,而非进行数据分析。 7. 除了17个通用字段,还需要思考哪些通用属性字段可以帮助快速定位问题,根据具体业务场景进行补充设计。 8. 遵循最少字段原则可以减少服务器端的存储空间,降低研发成本,从而实现得不偿失的效果。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《前端全链路优化实战课》,新⼈⾸单¥59
《前端全链路优化实战课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论