实时⼤数据平台技术架构演进及实践 京东零售集团数据计算平台部/韩⻜ ⽬录 01平台定位及规模 02架构演进及实践 03未来规划 01平台定位及规模 业务及定位 ➢集团统⼀的实时数据平台 ➢覆盖采集、存储、计算 ➢服务订单交易、商智⻩⾦眼、实时⻛控、京东⽩条、实时⼤屏等核⼼业务 平台规模现状 12万亿+ 27PB+ 2.1万+ 2.2万+ 1万+ ⽇处理消息条数峰值 ⽇吞吐量峰值 采集、分发作业数Topic数Flink作业数 平台规模现状 115万核+ 1.3万台+ 5 CPU核数 物理机总数 机房数量 02架构演进及实践 云原⽣、智能化 实时平台架构及容器化现状 Hive JED Doris RDS Fregata JDQ Fregata ClickHouse CDS FlinkCDC Iceberg Hudi App Logs SDK JDQ 实时链路 ➢采集:Fregata(采集&分发)、FlinkCDC query Iceberg Flink Hudi JDQ ➢存储:JDQ、Pulsar、Hudi、Paimon ➢计算:JRCFlink 基于JDOS(京东Kubernetes平台)底座 DataSources JDOS IncrementalETL Flink 实现全链路容器化 ➢Fregata100% ➢JDQ15% ➢JRC100% 跨机房能⼒ 弹性能⼒:分发、计算 JDQonJDOS nodeAffinity Broker Pod Broker Pod Broker Pod StatefulSet 服务状态保持⼀致 ➢CFS:路径⼀⼀映射 数据持久化、性能 ➢⼩IO、主从同步 云海 ChubaoFS LocalPV Service Headless LoadBalancer NodePort JDOSDNS 存算分离 podAntiAffinity PVC ➢Linux内核对FUSEWriteBackCache⽀持不完善导致限速 Par200Rep2Ack1Nocallback Par200Rep2Ack2Callback 物理机集群32C/192G 3375w 2262w CFS集群32C/64G 3227w 2447w 云海集群32C/64G 3376w 性能接近物理机集群 2946w 兼容物理机集群部署,⽆感知迁移物理机独占 服务器成本节省25.3% 实时计算弹性 traffic-basedtime-based 实时计算弹性 ContainerMonitoring TM Process FlinkMetricsReporter MDC Topic MetricsTopic ElasticConfigTopic ElasticConfig JRCWeb pull pull pull MDCConsumer MetricsConsumer ElasticConfigConsumer pull ElasticScalingService ElasticScalingKernel AlgorithmModel2 result ElasticScalingResultTopic ➢FlinkMetricsReporter:主动上报 Planner ➢宿主机部署MDCagent:PodCPU、MEM、Disk AlgorithmModel ➢Planner:算法可插拔 ➢Kernel根据JOBID过滤Metrics 推⼴实践 L3作业:1276 JM Process Container Container 资源降低:323,4988核,节省⽐例51.5% FlinkCluster PrometheusProxy 资源增加:51,302核,增加⽐例22.5% 跨机房能⼒ 实时平台MTTR⾼敏感 端到端数据双流(活)能⼒ ➢MTTR->0 ➢⾼资源成本 ➢L0双流覆盖率->100% ⼀键⾃动化切换 ➢状态本身跨机房 ➢计算⼀键切换 (MeanTimetoRepair,平均恢复时间) JRCFlink跨机房 LF机房 FlinkJobstates HDFS HT机房 FlinkJob states HDFS ➢States默认写同机房公共HDFS集群 ➢FlinkJob⼀键切换 ➢FlinkJob⽀持多HDFS配置 ➢跨机房SP、CP恢复(优先写同机房) ❌ JRCFlink跨机房 LF机房 HT机房 FlinkJob FlinkJob states states CFS CFS ZYX机房 CFS States⽀持写CFS ➢Hadoop-PluginCFS跨机房三副本 FlinkJob⼀键切换,CFS分⽚路由切换 cfs.hadoop-plugin.enable:truecfs.cluster.address:cn.chubaofs.jd.localcfs.volume.name:jrc-statecfs.owner:xxx <configuration> <property> <name>fs.defaultFS</name> <value>chubaofs://cn.chubaofs.jd.local/</value> </property> … </configuration> CFSconfig core-site.xml、hdfs-xite.xml 平台智能化 对⽤户 ➢平台易⽤性 ➢开发效率 ➢解决问题的效率平台⾃身 ➢⾃动化程度 ➢资源、运维成本 ➢⾃愈能⼒ 低代码开发 正常开发流程 ➢API学习->开发->测试->上线时间成本:天级别 平台维护成本⼤(⿊盒) 低代码开发模式 ➢SQL25%+ ➢配置化6%+ ➢画布初始阶段 时间成本:⼩时级别平台维护成本低 低代码开发配置化 •SELECT* •FROM •( •SELECT* •,ROW_NUMBER()OVER(PARTITIONBYactivityId,activityNameORDERBYCountOrder)ASrownum •FROM •( •SELECTactivityId •,activityName •,COUNT(orderId)ASCountOrder •,SUM(orderAmount)ASOrderAmt •,SUM(mxDiscountAmount)ASmxAmt •FROMmktCouponConsumeAll.ric_mktcouponconsumeall •WHEREactivityIdnotin’’ •GROUPBYactivityId •,activityName •) •) •WHERErownum<=20 单表聚合Top-N 低代码开发画布 StreamingETL场景 智能调度:机房->Zone 默认系统分配 ➢取空闲资源Top10 ➢随机选取 ⽤户⾃主选择 结合数据路由(在建) ➢作业上下游数据源 ➢同机房偏好 智能调度:宿主机 ⽬的:资源整体均衡调度 策略: ➢CPU+MEM都低>CPU低>MEM低 ➢单Pod尽量均衡(降低单机宕机影响的范围) 连续启动3个Flink应⽤: 1.4个pod(1个jm,3个tm) 2.4个pod(1个jm,3个tm) 3.6个pod(1个jm,5个tm) 作业健康度 打分模型:减分 评分指标: ➢作业未配置告警 ➢资源利⽤率低(邮件告警及建议) ➢作业运⾏存在异常 ➢运⾏环境存在异常 ➢作业配置不合理 ➢其他 03未来规划 未来规划 ➢商业化及多云适配 ➢全链路100%容器化及弹性 ➢持续技术降本 ➢端到端秒级时延的实时链路