限流¶
证据:ptrader-api-gateway/.../filter/RateLimitInterceptor.java、WeightConfigManager。
代码行为¶
- 按 IP 和/或 UID 做加权限流。
- 默认区间配置含
1m(ratelimit.intervals)。 - 响应头模式:
X-SAPI-USED-%s-WEIGHT-%s(区间 / 模式)。 - 触发限制时,响应体约为
{"code":-1003, "msg":"Too many requests; current request has limited."}
(亦见ApiErrorCode.TOO_MANY_REQUESTS=-1003)。
权重与数值上限来自运行时配置(Apollo / 环境变量),未完整纳入本仓库。
待文档化的限额(To Do)¶
| 项 | 状态 |
|---|---|
| 默认 IP/UID 每区间 weight 预算 | [NEEDS-CONFIRMATION: 导出生产 weight 表] |
| 逐接口 weight 映射 | [NEEDS-CONFIRMATION] |
下单笔数限制(TOO_MANY_ORDERS / -1015) |
[NEEDS-CONFIRMATION: 阈值] |
listenKey 创建限速(CREATE_LISTEN_KEY_RATE_LIMIT / -1026) |
文案暗示按小时;确认具体数值 |
WebSocket(独立)¶
证据:ptrader-ws-gateway/docs/WS_API_SPOT.md
| 限制 | 值 |
|---|---|
| 客户端消息 | 25 / 秒 / 连接 |
| 最大订阅流 | 1024 / 连接 |
| Ping 间隔 | 20 s |
| Ping 超时 | 120 s |
| 无订阅空闲 | 60 s 后断开 |