Request Deduplication
请求去重
请求去重会让匹配的调用共用一个正在执行的请求。每个调用都会收到同一份结果。
另一个例子
页眉、账户和评论区同时读取同一位用户。浏览器只发出一个网络请求,而不是三个。
主要部分
- 01稳定的键
- 02匹配调用
- 03进行中请求
- 04共用结果
- 05去重时间范围
什么时候用
多个地方几乎同时需要同一份数据时,可以用稳定的键共用请求。
什么时候不要用
用户、权限或参数不同时,不可共用同一个请求。写入任务只有能安全重做时,才可共用。
代码里的名称
stable key -> one in-flight promise -> shared result 上线前要检查
检查程序运行环境与版本、集成边界、依赖与许可,以及支持的平台。验证安全、失败处理、性能与监控。也要检查部署、支持负责人、升级路径与恢复上一版的方法。
预期结果:把 请求去重 (Request Deduplication) 当作团队能维护的技术基础,并检查它是否符合产品需求。 用户场景:页眉、账户和评论区同时读取同一位用户。浏览器只发出一个网络请求,而不是三个。 技术或工程概念:请求去重 (Request Deduplication)。 适用理由:多个地方几乎同时需要同一份数据时,可以用稳定的键共用请求。 不应使用的情况:用户、权限或参数不同时,不可共用同一个请求。写入任务只有能安全重做时,才可共用。 工程适配:定义程序运行环境与版本。说明它负责什么、接口、数据流、依赖、支持平台、安全与性能限制,以及如何接入现有技术组合。 生命周期防护:检查依赖是否健康、许可是否可用。加入监控与安全备用做法,并指定升级负责人。没有可衡量的好处时,不要再加入功能重复的框架或工具。 验收标准:用最小集成证明必要行为。测试兼容性、安全性、失败与性能。记录部署、升级、支持与恢复上一版的方法。 证据与限制(证据边界):它只代表该来源的官方说法。其他平台或团队可能有不同用法。 待确认:现有技术组合、运行环境、版本规则、目标平台和依赖负责人。也要确认性能预算、支持期限与迁移限制。
检查这份需求
请 AI 编程助手检查当前如何使用 请求去重 (Request Deduplication)。 定义:请求去重会让匹配的调用共用一个正在执行的请求。每个调用都会收到同一份结果。 生产环境检查:检查程序运行环境与版本、集成边界、依赖与许可,以及支持的平台。验证安全、失败处理、性能与监控。也要检查部署、支持负责人、升级路径与恢复上一版的方法。 修改程序前,先列出看到的证据、缺口、严重程度,以及最小且安全的修正。