知识点 › 算子
算子部署形态
Operator Deployment
定义
三种形态:①「一 Pod 一算子」——每个算子一个镜像,DAG 为每个(数据分片×算子)起一个 Job;②「一 Pod 多算子」——同一镜像多进程,对同一份数据依次处理;③「常驻服务」——Deployment + 队列消费,模型常驻显存。真实系统是混合:GPU 重算子常驻、CPU 轻算子合并、全链路 DAG 编排。
关键要点
- 判断维度:Pod 启动开销 vs 数据搬运成本、资源画像(GPU 独占/CPU 超卖)、依赖冲突(CUDA/ffmpeg 版本)、扩缩粒度、失败隔离
- 经验法则:计算 < 30 秒的轻算子不值得单独起 Pod;模型加载要几十秒的必须常驻
- 反模式:一个巨容器跑全流程(无法扩缩、无法重试)、每个小算子一个 Pod(启动开销 > 计算)、每个 Pod 各自加载模型(显存浪费 + 冷启动)
- 大数据引擎里算子本来就被 chain 在一起跑(Spark operator chain),目的就是减少 shuffle 与数据搬运
面试怎么答
讲「三形态 + 五个判断维度 + 两个反模式」,再说你们为什么这么选。
常见踩坑
只会说「都放一个 Pod」,或者不加区分地一算子一 Pod。
相关知识
- DAG 编排与任务粒度 — 一个采集片段 = 一个 DAG 实例;每个节点是一次算子调用(Job 或服务调用),输出写到内容寻址路径;DAG 状态…
- 算子(两种含义) — 数据闭环里「算子」指两样东西:①数据侧——加工流水线里可组合、可重跑、幂等的最小执行单元(解析、解码、脱敏、质检、切片…