第 239 题:推理请求的routing策略?least loaded、consistent hashing?
题目
推理请求的routing策略?least loaded、consistent hashing?
完整讲解
一、Routing 的目的
路由:把 入站请求 分到 多个推理实例,实现 负载均衡、灰度、就近。策略影响 延迟、吞吐、故障隔离。常见:轮询、随机、最少连接、加权,以及 least loaded、一致性哈希。
二、Least loaded
Least loaded:把请求发到 当前负载最低 的实例(如 正在处理的请求数最少、或 队列最短)。优点:均衡、避免某实例过载而其他空闲。实现:需 实时 或 定期 上报各实例的 负载指标(活跃请求数、队列深度);LB 或路由层 查表选最小。注意:长尾请求(如长生成)会长时间占住实例,新请求可能仍选到「看起来少但即将变忙」的实例;可结合 超时与重试。
三、Consistent hashing
一致性哈希:按 请求的 key(如 user_id、session_id、model+version)哈希 到 环上,选 顺时针最近 的实例。优点:同一 key 总到同一实例,利于 缓存亲和(同一用户/会话的请求命中同实例的 KV cache 或结果缓存);实例扩缩 时仅影响环上相邻段,迁移量小。缺点:可能 负载不均(某些 key 热);可加 虚节点(virtual node)打散。适用:有状态或强缓存亲和时;无状态、纯均衡可用 least loaded。
面试要点
- Routing:负载均衡、灰度、就近;策略有 least loaded、一致性哈希等。
- Least loaded:选当前负载最低实例;需实时/定期负载上报;长尾需结合超时。
- Consistent hashing:同 key 同实例、缓存亲和、扩缩迁移小;可加虚节点均衡。
记忆要点
- Least loaded = 选负载最低;consistent hashing = 同 key 同实例。
- Least loaded 需负载指标;hashing 利于缓存亲和。
- 按有状态/缓存需求选;虚节点可均衡。