速率限制
Conviction 公共 API 实施速率限制,以确保服务稳定性和所有用户的公平访问。
#当前限制
| 层级 | 速率限制 | 描述 |
|---|---|---|
| 突发(边缘) | 50 请求 / 10 秒(按 IP) | 统计发往 api.conviction.bet 的所有请求。超出后该 IP 会被封禁 10 秒。 |
| 持续(应用) | 200 请求 / 60 秒(按 IP,按端点) | 每个 /v1/... 端点各有独立的计数器——对市场列表的请求不会占用盘口的额度。 |
随着服务规模扩展,限额可能调整。
#速率限制响应头
/v1/... 端点的每个响应都带有该端点 60 秒计数器的状态:
| 响应头 | 描述 |
|---|---|
X-RateLimit-Limit | 窗口内的限额(200) |
X-RateLimit-Remaining | 当前窗口内剩余的请求数 |
X-RateLimit-Reset | 距离窗口重置的秒数 |
#超出速率限制
超出 60 秒限额时,API 返回 429 Too Many Requests 响应:
{
"statusCode": 429,
"message": "ThrottlerException: Too Many Requests"
}响应中包含 Retry-After 头,指示需要等待多少秒后再重试。
超出 10 秒突发限额时,拦截发生在网络边缘:同样是 HTTP 429,但响应体不是上面的 JSON,请不要按 JSON 解析。
#最佳实践
- 尽可能缓存响应
- 使用
limit和offset分页,而不是一次获取所有数据 - 收到 429 时按指数退避重试,而不要立即重试
- 拉开轮询间隔——对多个市场不停循环请求,会远早于 60 秒限额先触发 10 秒突发限额
本页面是否有帮助?