双十一期间京东H5应用的可观测性保障实践
本研究聚焦于京东H5应用的可观测性保障实践,主要探讨IT运维管理领域中可观测性体系建设的实践与成果。研究内容由ITIL先锋论坛主办,旨在分享和推广IT管理方法论在国内的应用与实践。
京东H5观测体系背景及介绍
- 移动端开发现状:本研究首先介绍了当前移动端开发的三种模式——Native App、Hybrid和H5,并对其各自的优劣势进行了分析。例如,H5虽具有较高的跨平台开发效率,但在用户体验方面不及原生应用,且其更新迭代虽便捷,但工程质量难以控制。
- H5业务特性与研发测试痛点:研究指出H5业务具有页面数量多、业务活动频繁、搭建率高等特点。在研发测试过程中,存在线上用户反馈问题难以及时发现和处理、业务性能现状不明确、线上偶发异常难以追踪等痛点。
- 业界现状:现有商业化或开源监控方案与公司内部数据的贴合性不足,定制功能实现复杂,自建监控平台缺乏体系化的指标和衡量标准,无法全面覆盖全链路,对业务的影响力有限。
京东H5观测体系解决方案
- 主动观测:通过H5探针上报、Webview保活上报、场景全覆盖等方式,实现用户反馈上报、接口/CDN资源监控等,提升综合性能评分,降低事故异常率。
- 被动观测:采用自动化工具测试,实现告警降本提效,通过周报日报等方式助力业务。
- 全链路观测及质量保障:打通搭建平台,实现单用户排障、全链路观测、接口trace等,支撑技改优化,保障发布质量。
主动观测的深入探索
- 基础设施建设:本研究介绍了探针、日志服务端、观测平台等基础设施的建设方案,包括指标建设、日志格式、服务端架构等。
- H5探针-指标建设:详细阐述了用户体验指标、综合性能评分、异常率等指标的建设,如Webvitals、Performance API、资源加载耗时等,并介绍了综合性能评分算法,根据不同场景设置对应评分标准。
- 质量保障:从速度、稳定性和监控等方面介绍了质量保障措施,如Tree Shaking、NPM包/CDN接入、Hybrid离线包等,以及日志服务端的服务端架构和sourcemap反解析等。
被动观测的降本提效
- 被动观测的必要性:业务研发反馈侵入式接入探针成本大,业务迭代快,线上非异常业务问题感知困难,需要被动观测来增强观测覆盖面积,提升人效。
- 落地方案:介绍了选择检测引擎、打通主动观测、平台可配置化落地等方案,如使用Puppeteer、Lighthouse等工具,实现统一采集指标、统一评分标准等。
- 核心能力:包括功能问题检测、性能问题检测、专项检测等,能够自动扫描检测,提升人效,保障质量。
全链路观测及质量保障的实践与思考
- 单用户单会话纬度:观察用户/会话级别,客户端全链路的真实表现,帮助业务方快速排障分析,包括客户端基础信息、用户反馈、崩溃、网络、Webview组件、异常、性能数据等。
- 页面URL性能纬度:以性能优化为导向,立体观测某个页面在性能涉及的全链路的实际情况,包括Hybrid离线包、基础Webview组件性能、H5页面性能情况、CDN资源加载情况等。
- H5全链路质量保障:介绍了发布系统门禁检测、大促会场池质量综合日报、监控质量综合日报、CICD原子、违禁药品检测、H5/小程序封禁检测等质量保障措施,实现页面上线前后全链路质量保障。
本研究详细介绍了京东H5应用的可观测性保障实践,从背景介绍到解决方案,再到主动观测、被动观测和全链路观测的具体实施,全面展示了京东在H5应用可观测性方面的深入探索和实践经验。通过主动观测和被动观测的结合,京东实现了对H5应用的全面监控和质量保障,有效提升了用户体验和业务稳定性,为其他企业在类似领域的实践提供了宝贵的参考和借鉴。