secure-upload-fastify-sdk 1.0.4 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -438,7 +438,7 @@ if (body.files.length > rt.config.smartMaxFiles) {
438
438
  | `ttlSeconds` | `number` | `86400` (24h) | `uploadId` 有效期 |
439
439
  | `suggestedClientConcurrency` | `number` | `3` | 建议客户端并发 part 数 |
440
440
  | `rateLimit.initPerMin` | `number` | `30` | `/multipart/init` 限流 |
441
- | `rateLimit.partPerMin` | `number` | `600` | `/multipart/part` 限流 |
441
+ | `rateLimit.partPerMin` | `number` | `600` | `/multipart/part` 限流(**v1.0.5+ 按 `uploadId` 维度**,每个文件独立 600/min 配额,不再按 sessionKey 共享;详见 Changelog) |
442
442
  | `rateLimit.smartMaxFilesPerInit` | `number` | `50` | `/smart/init` 单次最多文件数(**v1.0.2+ 可配置**,从 `.env UPLOAD_SMART_MAX_FILES_PER_INIT` 透传,详见下文"配置链路"章节) |
443
443
  | `pathPrefix.multipart` | `string` | `'/multipart'` | 分片路由挂载前缀 |
444
444
  | `pathPrefix.smart` | `string` | `'/smart'` | smart 路由挂载前缀 |
@@ -561,6 +561,34 @@ HTTP 状态码映射由 `getHttpStatus(code)` 给出,用户业务侧可直接用
561
561
 
562
562
  ## 📝 Changelog
563
563
 
564
+ ### v1.0.5 — `/multipart/part` 限流维度从 sessionKey 改为 uploadId
565
+
566
+ **🛠 Fix**
567
+
568
+ - **`/multipart/part` 限流 key 改为按 `uploadId` 维度**
569
+ 之前 key 是 `rl:mp:part:${sessionKey.slice(0, 64)}`(**单用户共享 600 part/min 配额**),单用户并发 N 个文件会互相挤兑。
570
+ 实测 60 个文件 × 16 part = 960 part,60s 内必爆,第 42 号文件全部 part 报 `1402 part 上传过于频繁`。
571
+ 改为 `rl:mp:part:${uploadId}` 后,**每个文件独立 600 part/min**,多文件并发互不影响。
572
+
573
+ **⚙️ 影响面**
574
+
575
+ | 组件 | 行为 | 是否需要改动 |
576
+ |------|------|-------------|
577
+ | 单文件上传 | 行为不变(单文件本身就是 1 个 uploadId) | ❌ |
578
+ | 单用户并发多文件 | 60+ 文件不再互相挤兑配额 | ❌(自动生效) |
579
+ | 旧 key `rl:mp:part:{sessionKey}` | 立即失效,等 60s 滑动窗口自然过期 | 无需手动清理 |
580
+ | `rateLimit.partPerMin` 默认值 | 不变(600) | ❌ |
581
+
582
+ **🔄 升级步骤**
583
+
584
+ ```bash
585
+ cd secure-upload-fastify-sdk && pnpm build # 重建 dist
586
+ cd ../backend && pnpm install # workspace 重链接
587
+ pnpm dev # 重启 upload-service
588
+ ```
589
+
590
+ ---
591
+
564
592
  ### v1.0.2 — /smart/init 批量上限可配置化
565
593
 
566
594
  **🛠 Fix / Feature**