1、分享主题:大型集群中的数据处理:如何兼顾效率、可扩展性与可持续性张晨京东云 高级工程师2025/11/15张晨嘉宾职位:京东云 高级工程师个人简介:Chen 是位开源软件开发者,主要专注于虚拟化以及通用高可用等基础软件领域。QEMU社区 maintainer.形象照1.背景介绍章节目录2.效率为先3.可扩展与可持续Historical context for Kubernetes背景Quality 质量Security 安全Efficiency 效率Cost 成本三元悖论Traditional deployment Virtualized deployment -Security-Cost-E
2、fficiency+Virtualized deployment Container deployment -Security-Cost-Efficiency+Why does security always to compromised?只有安全受伤的世界已达成效率为先效率为先隐形成本+随着基础软件复杂度的提升,越来越少公司可以maintain整个基础软件栈分工越来越细化。-厂商大部分的基础设施都选择基于开源项目来降低成本-软件维护/部署/二次开发成本提升-软件开发者雇佣成本提升效率为先现实案例:效率为先现实案例:“mysql-producer”进程在调用 syscalls,进入 kerne
3、l,很多时间花在 do_syscall_64 ksys_read/vfs_read/proc_reg_read seq_read 的路径上。这说明进程在读用户空间某个文件(很可能是/proc/net/tcp 或类似 proc 文件)在读 proc 相关内容的时候,有函数 established_get_first.isra.0、tcp_get_idx、seq_read_iter 等在热点里,这些是与 TCP socket 状态集中遍历/查看 established sockets 的函数 还有锁自旋锁(_raw_spin_lock_bh/native_queued_spin_lock_slow
4、path)出现在调用路径里,这说明内核在读这些结构(TCP socket list)的时候,需要获取某些锁,可能竞争较重所以总的来看,这个进程在读和解析 TCP socket 状态的过程中消耗了比较明显的 CPU内核资源,导致了其他container中的服务质量抖动。效率为先以当今的技术实现持续提升效率降低成本会导致安全事故的频繁发生,反向限制了服务质量的提升,导致不可持续。可扩展与可持续k8s统一调度物理机资源,配合kernel/hypervisor 优化来混合部署kata/runc,根据实际业务需求配置不同的policy,动态调整security/efficiency所占比重,以达到服务质
5、量最大化作为新技术来临之前的折中方案可扩展与可持续以昼夜业务需求变化为例可扩展与可持续在线业务有规律的波峰波谷整体利用率较低离线业务任务比较充沛整体利用率较高混合部署没有明显波峰波谷整体利用率常态运行在较高水平可扩展与可持续应用分级1调度优化2内核优化3 通过对在线应用和离线作业按高中低优先级进行分类打标,为调度和资源隔离提供指导信息 优化离线和在线调度速度、对高优先级任务进行绑核,引入离线大框,cpuburst,内存异步回收,磁盘和网络io优先级限速降低tp99影响抗干扰机制京东容器云全场景混部主要通过下面3种优化措施,来控制和降低干扰率 优化调度时延,将在线的调度时延降低到1us;优化离线
6、任务的负载均衡策略,减少对运行中的在线任务干扰可扩展与可持续京东混部技术特性介绍的部署方案(以生产区为例)OpenEuler 24.03 LTS SP2(JD kernel)OpenEuler 24.03 LTS SP2(JD kernel)OpenEuler 24.03 LTS SP2(JD kernel)可扩展与可持续在线类型(延时敏感,中高优先级)零售核心交易系统如库存、商品等 中间件如开源缓存数据库,开源消息队列软件等 开源监控索引引擎等 搜索、推荐、广告等 AI 推理在线级别名称定义SLA要求QoS例子P0核心系统黄金交易流程相关系统及其强依赖