fix: 上行分发前统一限速,send 不再单独扣桶
This commit is contained in:
+12
-3
@@ -385,10 +385,10 @@
|
||||
|
||||
2. **请求频率突发容量写死为 100**
|
||||
- 原条款:DEVELOPMENT 6.10 每端每秒 50、突发 100;配置示例仅有 `requests_per_second`。
|
||||
- 实际做法:`Limits.RequestBurst` 默认 100;`requests_per_second<=0` 时不限速(便于测试)。速率桶挂在 `message.App` 的 `Submit` 入口;`ack`/`receipt_ack` 不计入桶(与 6.10 一致)。
|
||||
- 实际做法:`Limits.RequestBurst` 默认 100;`requests_per_second<=0` 时不限速(便于测试)。`message.App.AllowRequest` 导出同一令牌桶;`HandleUplink` 在分发前对 ack/receipt_ack 以外的帧调用。`Submit` 不再单独扣桶,避免 send 计两次。
|
||||
- 原因:配置无独立 burst 字段。
|
||||
- 备选方案:配置增加 `request_burst`;由连接线在上行统一限流。
|
||||
- 影响:改 `requests_per_second` 不改突发;正式接线后若 N 线也限流可能双重计数。
|
||||
- 备选方案:配置增加 `request_burst`。
|
||||
- 影响:改 `requests_per_second` 不改突发;非 send 请求也受同一桶限制。
|
||||
|
||||
3. **未接线 `cmd/nixmsg`**
|
||||
- 原条款:可替换 T0.4 假实现。
|
||||
@@ -457,6 +457,15 @@
|
||||
- 备选方案:在 group/identity 各自补写回执与收尾(继续分叉)。
|
||||
- 影响:退群/解散/停用后发送方可收到 rejected 回执,配额释放,正文删除。
|
||||
|
||||
### 复审修复 C-05
|
||||
|
||||
1. **每端请求限速覆盖非 send 帧**
|
||||
- 原条款:PRD F05 / DEVELOPMENT 6.10:除 ack、receipt_ack 外共用一个桶,默认每秒 50、突发 100。
|
||||
- 实际做法:message 导出 `AllowRequest`;`cmd/nixmsg/uplink.go` 的 `HandleUplink` 解码后、分发前检查;超限回 `rate_limited`。去掉 `Submit` 内扣桶。不改 uplink 生命周期与 `publishResp`。
|
||||
- 原因:原先只有 send 限速,unlock/status/目录/群等可打满哈希池与读库。
|
||||
- 备选方案:把桶挪到 broker 层(B-09 范围)。
|
||||
- 影响:开放注册后的非 send 请求也计入配额;直接调 `Submit` 的单测不再覆盖限速。
|
||||
|
||||
## 身份 I
|
||||
|
||||
### I1 2026-09-30
|
||||
|
||||
Reference in New Issue
Block a user