自动应用的限制
Fóir 限制一个密钥调用 API 的频率以及单个查询的大小,并在查询运行前检查两者。这些限制有文档说明,并在响应标头中报告。
超出限制
被拒绝的请求会收到 HTTP 429,代码为 RATE_LIMITED 并带有一个 Retry-After 标头。类型化 SDK 在重试时会遵守该标头。
GraphQL 端点上超出限制的读取,如果存在对完全相同请求的缓存响应,就会由响应缓存返回。它以 HTTP 200 返回,并带有标头 X-Foir-Stale: true。没有缓存内容的读取会得到 429。
查询大小
在文档执行前,会对解析后的文档强制执行三项上限:最大深度 24、最大复杂度 10,000 个选取字段,以及最多 1,000 个别名。复杂度就是简单计数。每个选取的字段计为一,没有按字段的权重,列表也不做乘法,联合类型按其最大成员计费。这三项上限也会在响应标头中公布。
并发请求
一个工作区可以同时运行几十个请求。超出这个数量的请求会立即被拒绝,返回相同的速率限制代码,不会排队。