menuTicketing

请求 × 键状态矩阵

A(获取)

key 状态服务器动作响应时机
未注册注册(过期=now+lease),签发 tokenA+token+key立即
已注册 + 已过期续期(now+lease),签发新 tokenA+token+key立即
已注册 + 有效(占用中)加入等待队列,响应挂起A+token+key 或 T+key因释放/过期而获得的瞬间,或超过 wait 时返回 T
  • 释放路径 FIFO 公平:持有者 R 时直接移交给队首等待者(无需重新竞争,附带新 token)。
  • 只有过期路径是非 FIFO 的。不存在重入(同一客户端对自己持有的 key 再次 A → 进入队列)。

R(释放)

key 状态服务器动作响应
已注册,有等待者直接移交给队首等待者(新 token)R+key
已注册,无等待者删除该 keyR+key
未注册N+key