实时大数据平台技术架构演进及实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 实时大数据平台技术架构 演进及实践 京东零售 集团数据计算平台部 / 韩 ⻜
2.
3. 目录 01 平台定位及规模 02 架构演进及实践 03 未来规划
4. 01 平台定位及规模
5. 业务及定位 ➢ 集团统一的实时数据平台 ➢ 覆盖采集、存储、计算 ➢ 服务订单交易、商智⻩金眼、实时⻛ 控、京东白条、实时大屏等核心业务
6. 平台规模现状 12万亿+ 27PB+ 日处理消息条数峰值 日吞吐量峰值 2.1万+ 2.2万+ 1万+ 采集、分发作业数 Topic数 Flink作业数
7. 平台规模现状 115万核+ 1.3万台+ 5 CPU核数 物理机总数 机房数量
8. 02 架构演进及实践 云原生、智能化
9. 实时平台架构及容器化现状 实时链路 Hive JED Doris RDS Fregata JDQ Fregata query ➢ 采集:Fregata(采集&分发)、FlinkCDC ➢ 存储:JDQ、Pulsar、Hudi、Paimon ➢ 计算:JRC Flink 基于JDOS(京东Kubernetes平台)底座 ClickHouse CDS FlinkCDC Iceberg Hudi App Logs SDK JDQ 实现全链路容器化 Iceberg Flink Hudi JDQ Flink ➢ Fregata 100% ➢ JDQ 15% ➢ JRC 100% Data Sources Incremental ETL JDOS 跨机房能力 弹性能力:分发、计算
10. JDQ on JDOS 服务状态保持一致 StatefulSet ➢ CFS:路径一一映射 数据持久化、性能 nodeAffinity Broker Pod Broker Pod Broker Pod podAntiAffinity ➢ 小IO、主从同步 ➢ Linux内核对FUSE WriteBack Cache支持不完善导致限速 兼容物理机集群部署,无感知迁移 Service PVC JDOS DNS 物理机独占 Par200Rep2Ack1 Nocallback Par200Rep2Ack2 Callback 3375w 2262w ChubaoFS 物理机集群 32C/192G 3227w 2447w 云海 CFS集群 32C/64G 云海集群 32C/64G 3376w 2946w LocalPV NodePort LoadBalancer Headless 存算分离 性能接近物理机集群 服务器成本节省25.3%
11. 实时计算弹性 traffic-based time-based
12. 实时计算弹性 MDC Topic pull Metrics Topic Container Monitoring Elastic Config Topic Flink Metrics Reporter MDC Consumer pull pull Metrics Consumer Elastic Config Consumer ➢ Flink Metrics Reporter:主动上报 ➢ 宿主机部署MDC agent:Pod Elastic Scaling Service Elastic Scaling Kernel Algorithm Model2 Planner Algorithm Model CPU、 MEM、Disk ➢ Planner: 算法可插拔 ➢ Kernel根据JOB ID过滤Metrics result Elastic Config 推广实践 TM Process JM Process Container Container JRC Web pull Elastic Scaling Result Topic L3作业 :1276 资源降低:323,4988核,节省比例51.5% Flink Cluster Prometheus Proxy 资源增加:51,302核,增加比例22.5%
13. 跨机房能力 实时平台MTTR高敏感 端到端数据双流(活)能力 ➢ MTTR -> 0 ➢ 高资源成本 ➢ L0双流覆盖率 -> 100% 一键自动化切换 ➢ 状态本身跨机房 ➢ 计算一键切换 MTTR (Mean Time to Repair,平均恢复时间)
14. JRC Flink跨机房 HT机房 LF机房 Flink Job states HDFS ❌ Flink Job states HDFS ➢ States默认写同机房公共HDFS集群 ➢ Flink Job 一键切换 ➢ Flink Job支持多HDFS配置 ➢ 跨机房SP、CP恢复(优先写同机房)
15. JRC Flink跨机房 LF机房 HT机房 States支持写CFS ➢ Flink Job Flink Job Hadoop-Plugin CFS跨机房三副本 Flink Job 一键切换,CFS分片路由切换 states states CFS CFS CFS CFS config ZYX机房 cfs.hadoop-plugin.enable : true cfs.cluster.address : cn.chubaofs.jd.local cfs.volume.name : jrc-state cfs.owner : xxx <configuration> <property> <name>fs.defaultFS</name <value>chubaofs://cn.chubaofs.jd.local/</value </property … </configuration> core-site.xml、hdfs-xite.xml
16. 平台智能化 对用户 ➢ 平台易用性 ➢ 开发效率 ➢ 解决问题的效率 平台自身 ➢ 自动化程度 ➢ 资源、运维成本 ➢ 自愈能力 成本、效率、体验
17. 低代码开发 低代码开发模式 正常开发流程 ➢ API学习 -> 开发 -> 测试 -> 上线 时间成本:天级别 平台维护成本大(黑盒) ➢ SQL 25%+ ➢ 配置化 6%+ ➢ 画布 初始阶段 时间成本:小时级别 平台维护成本低
18. 低代码开发 配置化 • SELECT * • FROM • ( SELECT * • ,ROW_NUMBER() OVER (PARTITION BY activityId,activityName ORDER BY • CountOrder) AS rownum • FROM • ( • SELECT activityId • ,activityName • ,COUNT(orderId) • ,SUM(orderAmount) • ,SUM(mxDiscountAmount) AS mxAmt AS OrderAmt • FROM mktCouponConsumeAll.ric_mktcouponconsumeall • WHERE activityId not in ’’ • GROUP BY activityId ,activityName • ) • 单表聚合 Top-N AS CountOrder • ) • WHERE rownum <= 20
19. 低代码开发 画布 Streaming ETL场景
20. 智能调度:机房 -> Zone 默认系统分配 ➢ 取空闲资源Top10 ➢ 随机选取 用户自主选择 结合数据路由(在建) ➢ 作业上下游数据源 ➢ 同机房偏好
21. 智能调度:宿主机 目的:资源整体均衡调度 策略: ➢ 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)
22. 作业健康度 打分模型:减分 评分指标: ➢ 作业未配置告警 ➢ 资源利用率低(邮件告警及建议) ➢ 作业运行存在异常 ➢ 运行环境存在异常 ➢ 作业配置不合理 ➢ 其他
23. 03 未来规划
24. 未来规划 ➢ 商业化及多云适配 ➢ 全链路100%容器化及弹性 ➢ 持续技术降本 ➢ 端到端秒级时延的实时链路
25.

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-13 04:08
浙ICP备14020137号-1 $Carte des visiteurs$