架构介绍
京东零售的点击流采集系统采用分布式高可用低延迟架构,支持全端采集(web、APP、小程序、智能硬件等),并开放数据订阅与查询服务。系统通过解耦业务逻辑、统一日志类型及采集API设计,实现弹性服务端上报集群和日志分布式存储。同时,系统支持流式高效计算和离线计算,开放消息队列及API供ISV接入,并提供基础和自定义流量指标可视化。系统已支持2000+内部业务,涵盖主商城、垂直业务、广告、风控等场景。
技术原理
- 服务端框架:采用Nginx异步日志处理,结合JDQCFS数据清洗、实时计算、离线流处理、OpenResty实时发送、爬虫过滤白名单、数据校验解密解压等技术,实现高性能数据处理。
- 异步日志:通过Nginx rewrite_by_lua_file和sendto JDQ实现异步化日志写入,提升吞吐并降低运维风险,支持自动灾备和恢复。
- 日志回灌程序:采用轻量级高性能的日志回灌程序,支持灵活扩展和场景持久化,适用于数据流故障处理。
- 策略控制系统:通过策略服务、采集服务端、上报队列、策略解析、同步上报、缓存等模块,实现策略拉取和本地缓存,支持点击日志、曝光日志、自定义日志等策略控制。
大促备战
- 备战节奏:从5月3日到6月18日,包括全链路军演压测、系统封板、资源扩容优化、项目收尾、上线审批等环节,确保大促期间系统稳定运行。
- 采集服务压测:通过分层压测(forcebot憋流压测、forcebot压测)覆盖全面场景,降低风险并尽量减少资源占用,满足不同压测需求。
- 春晚项目:针对春晚超高并发挑战,采用批量压缩、随机打散与延迟错峰、策略调控等技术方案,实现QPS请求下降72%、带宽使用下降37%,数据延迟控制在3分钟以内,满足监控和决策需求。