跳到主要内容

令牌签发-从凭证到通行证

plus 版本专属

此章节是黑马点评 Plus 版本中专有的内容,而在整套文档中将普通版本和 Plus 版本都融合在了一起,让大家更方便的学习。

此章节将详细讲解在秒杀优惠券时,是如何申请请求以及验证令牌的

有的小伙伴到这里可能有点疑惑,因为在之前的限流功能中讲到了有使用动态令牌桶,这里又出现了访问令牌,是不是觉得重复了?

其实不是的,这里的访问令牌和限流中的动态令牌并不是一回事

一、概念区分:访问令牌 vs 令牌桶动态令牌

1.1 核心定义

  • 访问令牌:面向“用户-活动”的一次性通行证,用来证明某用户在某次活动入口拥有有效访问权,并在使用时被核销。
  • 令牌桶动态令牌:面向“流量控制”的配额机制,用来在时间维度平滑请求速率、吸收突发流量,避免系统被瞬时冲击。

1.2 功能定位

  • 访问令牌:授权与幂等控制,确保“谁”在“哪次活动”可以进入,并且每张令牌只可用一次。
  • 令牌桶:限流与节奏控制,确保“系统入口”在任何时刻都不会超出可承载的速率和峰值。

1.3 使用场景

  • 访问令牌:秒杀抢购、抽签预约、一次性验证(例如短信口令、入口票据),强调“资格”和“核销”。
  • 令牌桶:API网关、热点接口、秒杀入口前置流控,强调“整体流量平滑”和“突发吸收”。

1.4 生命周期与状态

  • 访问令牌:短有效期、一次核销即失效;不具备“自动补充”,只要过期或被消费就不存在。
  • 令牌桶:持续存在的配额模型;令牌随时间自动补充、随请求自动扣减,可长期运作。

1.5 粒度与绑定维度

  • 访问令牌:强绑定到具体主体(例如用户)与具体活动(例如某券),具有明确的个体身份属性。
  • 令牌桶:通常按入口维度(IP、用户或接口)进行配额控制,身份仅用于区分限流维度,而非授权本身。

1.6 风险控制与安全

  • 访问令牌:防重、防刷、防绕过;一人一票、一次一用,能有效抵御重复提交和脚本重放。
  • 令牌桶:抗洪峰能力强;限制单位时间可通过请求数,降低雪崩风险与资源争抢。

1.7 并发与一致性

  • 访问令牌:强调一次性原子核销,避免并发场景下重复入场;核心目标是“不可复用”。
  • 令牌桶:强调配额的精确递增与扣减,保证速率与容量的稳定性;核心目标是“控制节奏”。

1.8 返回语义与交互

  • 访问令牌:发放得到“票据字符串”,校验时明确“通过或不通过”,通过即核销。
  • 令牌桶:判定得到“允许或超限”的状态;允许则请求继续执行,不涉及“票据字符串”。

1.9 失败处理与用户感知

  • 访问令牌:失败多为令牌失效、过期或已用;用户需重新获取授权或等待刷新。
  • 令牌桶:失败表示当前流量过大;用户通常看到“稍后重试”提示或被临时阻断。

1.10 监控与运维

  • 访问令牌:关注发放成功率、冲突率、消费成功率、过期比例,评估授权流程健康度。
  • 令牌桶:关注通过率、拒绝率、平均速率、峰值吸收效果,评估入口流控效果。

1.11 性能与成本

  • 访问令牌:存储与校验开销小,更多是业务可信度与一致性保障的成本。
  • 令牌桶:在高并发入口具有良好的吞吐与可预期性,能显著降低下游系统负载成本。

1.12 组合策略与最佳实践

  • 先限流后授权:优先用令牌桶削峰限流,减少恶意或无意义请求;对通过的请求再校验访问令牌,保证资格与幂等。
  • 分层防护:令牌桶负责“交通信号灯”,访问令牌负责“门票验真”;两者结合能在高并发秒杀场景下兼顾稳定性与公平性。

二者常见协作方式:先以令牌桶限流决定是否允许进入秒杀逻辑,再要求请求方携带并通过“访问令牌”的一次性校验,形成“节流 + 授权”的双重保障。

二、访问令牌发放执行流程

付费内容提示

该文档的全部内容仅对「码力全开」项目实战&技术讲解 知识星球用户开放

加入星球,一次获得完整项目资料、全栈技术知识库和长期答疑服务。

100万+字全栈技术知识库深入讲解技术核心、数据库、中间件和分布式等内容
8套热门的实战项目持续更新的企业级项目覆盖高并发、微服务、数据中台 和 AI Agent 等方向
AI 技术知识大模型面试详解覆盖 AI 模型原理、Agent、RAG、MCP、Skills、Harness 等核心知识点
文档 + 视频两种讲解形式既能系统阅读,也能跟随视频理解核心业务

完整项目实战资料

每套项目均包含从 0 到 1 讲解文档核心业务讲解视频

从基础项目到复杂业务场景,项目资料会持续更新。

8 套项目
  • 01Nexus Agent AI 智能体
  • 02Nexus Agent Pro 完全版
  • 03黑马点评Plus
  • 04大麦
  • 05大麦Pro
  • 06大麦AI
  • 07流量切换
  • 08数据中台

加入后还能获得

进入星球后,即可享受上述所有服务,保证不会再有其他隐藏费用。

从学习、面试到项目启动,都可以继续获得支持。

  • 1 对 1 解答项目和技术问题都可以提问
  • 针对性补充没有讲清楚的内容会继续补充
  • 面试与简历指导梳理回答技巧和项目亮点
  • 中间件云环境项目依赖可以直接接入使用
  • 面试后复盘被问住的问题可以继续交流
  • 远程问题解决项目启动问题可协助排查
知识星球二维码

扫码进入知识星球

  1. 打开微信,扫描左侧二维码,加入「码力全开」项目实战&技术讲解 知识星球
  2. 查看星球使用指导,获取完整项目讲解资料索引
解锁全部付费内容
🎁优惠