🌟 Enterprise Feature 🌟 This feature is bundled with GraphQL-Enterprise.
GraphQL::Enterprise includes rate limiters built especially for GraphQL.
For REST APIs, rate limiters often count requests and block clients when they exceed their limit over a certain period of time. However, this paradigm doesn’t translate well to GraphQL because the cost of serving a request may vary dramatically depending on the GraphQL query contained in the request. Instead,
GraphQL::Enterprise implements two other kinds of limiters:
There’s some overlap in these limiters; both of them constrain the amount of time a client may force the server to spend in handling requests. The active operation limiter puts an upper bound on how many processes a client may occupy while the runtime limiter puts a bound on total processing time (regardless of the number of concurrent operations at a given moment).
To get started, read on: