大数据实时链路备战——数据双流高保真压测 | 京东云技术团队
一、大数据双流建设
1.1 数据双流
大数据时代,越来越多的业务依赖实时数据用于决策,比如促销调整,点击率预估、广告分佣等。为了保障业务的顺利开展,也为了保证整体大数据链路的高可用性,越来越多的0级系统建设双流,以保证日常及大促期间数据流的稳定性。建设核心数据链路双机房,双流双活。同时双流建设需要整条链路上的所有环节双机房部署,占用了双倍的物理资源;整个建设过程要协同上下游各环节(数据生产方、数仓加工方、中间处理节点、业务消费方),也会消耗大量的沟通建设成本。为了达到资源消耗和业务稳定性的平衡,特制定双流建设标准和实施流程以引导业务方合理评估双流需求,顺利开展双流建设实施。
1.2 数据双流的建设评估维度和标准
编号 | 维度 | 评估标准 | 标准定义 & 备注 |
---|---|---|---|
1 | 系统等级 | 0级系统 | 0级系统为公司最核心的业务服务系统,一旦发生不可用会直接影响黄金交易流程或影响公司名誉、品牌、集团战略、营销计划等,可能造成P0-P2级事故发生。0级系统的定义以零售子集团线上事故定级、定责及扣分标准中4.1-4.2定义为准。0级系统会在服务器资源和人力资源方面有倾斜,但0级系统要确保高可用,会与事故级别紧密关联。 |
2 | 任务等级 | L0实时任务 | 服务线上0级系统的任务具体任务等级细侧参见实时数据平台作业分级管理规范协议等级设置参考说明。 |
3 | 物理资源 | 业务方申请并且承担双流建设所需要的物理资源消耗物理资源成本合理。备流按照主流80%的承载量建设(资源的80%) | 业务方需要提供具体的物理资源信息:a. 物理资源成本包括存储资源、计算资源、带宽、队列资源等。b. 涵盖上游生产系统存储、数仓加工方、中间处理节点、业务消费方等各个环节。c. 评估流量和交易两个方面 |
4 | 数据时效性 | 大促0点(或对应相应业务高峰点)数据时效性要求<=20分钟 或平时数据时效性要求<=40分钟 | |
5 | 数据峰值 | 大促峰值预估(交易、流量)平时峰值预估(交易、流量) | 数据峰值作为主要的参考,但是新系统在没有数据参考情况下,会根据业务是否是集团战略这一条做适当调整。其它条件满足,但是数据峰值很小的情况下,一般不建议双流,特殊情况另讨论。 |
6 | 生产源 | 生产源必须是双机房部署 | |
7 | 业务场景 | 数据缺失会造成XX级事故 | 业务方提供完整的业务场景和发生故障时的影响以帮助评估 |
二、大数据双流憋坝高保真压测
2.1 双流憋坝压测
从21年大促备战开始,大数据侧核心数据链路,从单模块单任务的压测,转向全链路憋坝压测,把泄洪闸口上移,压测范围覆盖更广,订单和交易同时泄洪,高保真大促网络峰值,资源竞争场景,同时数据产品(黄金眼、商智、作战指挥室大屏)会在泄洪时同时进行读查询的压测,模拟大促读写峰值并行的真实大促场景。
2.2 双流憋坝的压测目标制定
(1) 压测目标设定,一般会参照历史峰值和市场预估,给出核心交易、流量主题链路峰值预估,例如22年双11的1.2倍。关键的数据流topic,会给出预估消费峰值供下游参考,如下表格所示(数据涉及保密不做详细展示)
2.3 双流憋坝的压测方案
(1)交易的憋坝方式,通过停止同步任务憋单 ,交易双流架构图如下所示:
(2)流量的憋坝方式,流量无损憋坝压测是通过停止采集服务写JDQ写集群的方式憋流,不参与压测的业务方,可以切换到**“JDQ4澜沧江_点击流新建流”(压测期间新建JDQ写集群),**保证下游业务可以在憋流压测期间,正常消费流量实时数据,做到无损。
2.4 双流憋坝压测规范
(1)全链路压测的具体憋单、憋流开始时间以及泄洪时间,每次压测前,会提前24~48小时发出通知(邮件+工作群),通知发出后,泄洪时间不再调整
(2)全链路压测会进行集团报备,避开重要促销活动,压测要避开存储(hbase、jimdb、ES)、JDQ、JRC 等自身的灾备演练,以免无效压测
2.5 失真场景的高保真压测
平时订单中预售订单占比过低,预售订单 平日峰值/大促峰值=0.05%~5.9%,峰值也无法达到要求,且不能指定场景,例如付定金和付尾款场景。所以预售订单无法在双流憋坝压测中实现高保真,所以做了大数据预售链路的整体改造,联合在线军演压测(业务生产系统的压测)实现预售链路的高保真压测补充
落地方案:军演负责提供预售订单数据和付定金付尾款场景,大数据链路进行改造兼容压测进行数据压测且不污染线上数据
如下图所示: 黄色部分为在线军演提供数据的对应存储——影子库表 。绿色部分为压测新增,最上层为压测数据源(JMQ/JDQ) ,下面是为了压测搭建的透传压测环境以及写影子存储。黄金眼预售通用源和商智预售交易通用源对应任务改成双进双出,同时可以处理线上数据源和压测数据源,线上数据写入线上输出topic和线上存储。 压测数据源的数据处理后输出压测数据的topic,写入影子存储。这样线上拓扑不用随着每次压测改动,同时,下游业务方也可以灵活选择是否参与压测。
三、大数据憋坝压测期间,业务方的迁移方案
3.1 双流憋坝压测对于业务方的影响
在大数据双流压测的憋流和憋单期间,憋流和憋单对应的机房(汇天/廊坊)无实时数据下发,泄洪后恢复。不参与压测的业务方,需要做对应的切换。
3.2 不参与压测的业务方的迁移方案
(1)切换集群:
A、交易不涉及,交易从源头topic都是双流双活,业务可以切换消费到不压测机房对应的topic即可
B、流量直接消费点击流吐出的topic,需要切换到无损压测集群**“JDQ4澜沧江_点击流新建流”。本次切换集群,支持一键迁移,不用重启任务,要使用这次功能,需要升级jdq-sdk,jdq sdk版本是jdq4-clients:1.3.0-SNAPSHOT flink:1.10/1.12/1.14-1.0.9-SNAPSHOT**。如果迁移过程中看不到集群“JDQ4澜沧江_点击流新建流”,可以联系平运维同学支持
(2)切换topic鉴权
A、交易是双流,廊坊和汇天都有对应的topic,不参与压测的业务方可以申请,消费非压测机房对应的topic即可
B、流量不是消费采集服务直接吐出的topic,消费的是流量实时数仓及一下链路的topic,也是双流双活,切换消费到非压测机房对应的topic即可。
作者:京东零售 荆明岚
来源:京东云开发者社区

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
LLM Data Pipelines: 解析大语言模型训练数据集处理的复杂流程
编者按:在训练大语言模型的过程中,构建高质量的训练数据集是非常关键的一步,但关于构建大模型训练所需数据集的通用数据处理流程(Data pipelines)的相关资料极为稀少。 本文主要介绍了基于Common Crawl数据集的数据处理流程。首先,文章概述了Common Crawl的不同数据格式WARC、WAT和WET的区别及应用场景。然后,文章详细阐述了数据处理流程的几个关键步骤,包括从数据源获取数据、去重、语言识别、使用模型筛选以及LLaMA中添加的“是否是参考来源”筛选等等。在各个步骤中,文章总结了不同的数据处理方案及它们的优劣。 高质量的数据最终将带来高质量的语言模型,数据处理流程需要大量的试验和计算资源投入,每个决策都会对最终结果产生影响,需要我们审慎评估。 以下是译文,Enjoy! 作者 | Christian S. Perone 编译 | 岳扬 Erik Desmazieres’s “La Bibliothèque de Babel”. 1997. 多年来,我们一直没有停止训练语言模型(LMs),但关于构建大模型训练所需数据集的通用数据处理流程(Data pipelines...
- 下一篇
【XL-LightHouse】通用型流式大数据统计平台
概述 XL-LightHouse是针对互联网领域繁杂的数据统计需求而开发的一套集成了数据写入、数据运算、数据存储和数据可视化等一系列功能,支持大数据量,支持高并发的【通用型流式大数据统计平台】。 XL-LightHouse目前已基本涵盖了常见的流式数据统计场景,包括count、sum、max、min、avg、bitcount、topN/lastN等多种运算,支持多维度计算,支持分钟级、小时级、天级多个时间粒度的统计,支持自定义统计周期的配置。 XL-LightHouse内置丰富的转化类函数、支持表达式解析,可以满足各种复杂的条件筛选和逻辑判断。 XL-LightHouse是一套功能完备的流式大数据统计领域的数据治理解决方案,它提供了比较友好和完善的可视化查询功能,并对外提供API查询接口,此外还包括数据指标管理、权限管理、统计限流等多种功能。 XL-LightHouse支持时序性数据的存储和查询。 背景 以互联网行业来说,在移动互联网发展比较成熟的现在,流量见顶,红利消失,企业竞争日趋惨烈,获取新增用户的成本日益增高。很多企业开始意识到不能一味的通过补贴、价格战、广告投放这种简单粗暴的...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- Linux系统CentOS6、CentOS7手动修改IP地址
- 2048小游戏-低调大师作品
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器