Search K
Appearance
Appearance
前端监控的目标有很多,包括性能、错误、用户行为、测速等。其实质功能可以归纳为数据收集和数据上报。然而,在设计这些功能时,需要考虑的细节非常多。
我曾经深入研究过前端监控,并编写过相关的 SDK。随着业务的深入,发现之前的 SDK 架构设计存在诸多问题。主要是所有信息高度耦合,每次新增或修改某个功能时,代码都会相互影响。因此,在经历几次 SDK 开发后,我产生了一个想法:每增加一个信息收集功能,不需要修改原有代码,而是通过新增代码以插件的形式插入到已有代码中。于是,一个基于插件系统的架构应运而生。
改造后的架构将 SDK 分为三部分:
serve()
。serve()
)时,同时启动 Service 数据服务。这种设计大大增强了系统的灵活性和可维护性,同时为未来的扩展提供了便利。