1. 模型服务的高可用设计中多副本、优雅停机、健康检查与流量摘除及其与业务服务部署的差异?
模型服务的高可用设计应包含哪些要点?多副本、优雅停机、健康检查与流量摘除分别如何实现?与普通业务服务部署有何差异?
- 模型服务高可用的复制与弹性
- 优雅停机与在途请求排空
- 健康检查(存活/就绪)与流量摘除
模型服务高可用设计包括多副本冗余、弹性扩缩容、健康检查、优雅停机与流量摘除。多副本通过 HPA/自定义指标按 QPS、GPU 利用率、队列长度扩缩容,副本间无状态(模型权重只读)可水平扩展;健康检查分存活探针(进程存活)与就绪探针(模型已加载、可服务请求),就绪探针失败时从 Service/负载均衡摘除流量,避免把请求路由到未就绪的副本;优雅停机要求先停止接收新流量(摘除),再排空在途请求(等待当前推理完成),最后释放 GPU 显存并退出,避免在途请求被中断或 GPU 未释放。差异上,模型服务相比业务服务更"重":启动慢(需要加载权重、CUDA 初始化),就绪延迟高,因此就绪探针与冷启动预热更关键;有显存等稀缺资源,需防内存泄漏与显存碎片;推理是长占用计算,需考虑并发与批处理压力;部分场景(如 on-demand 特征)有状态依赖。因此模型服务常用"预热 + 就绪门 + 优雅退出 + 迁移"的组合来保证高可用。
高可用题要覆盖"复制、探针、摘流、优雅停机"四个动作,并点出模型服务"启动慢、GPU 资源、在途长请求"与业务服务的差异。