ietf-wg-httpapi / ratelimit-headers

Repository for IETF WG draft ratelimit-headers
Other
45 stars 5 forks source link

Terminology clarification between Limit, Quota and Service Limit #126

Closed darrelmiller closed 2 weeks ago

darrelmiller commented 1 year ago

I'm not sure if there are subtle distinctions between these three terms, but in places they seem to mean the same thing.

RateLimit-Limit: the server's quota seems to infer that limit is the quota.

The service limit is a non-negative Integer indicating the maximum amount of activity that the server is willing to accept In the quota policy, the term service limit seems to be referring to the same thing.

Considering that Quota Policy is defined as an SF Item, it seems like it might be redundant to also define a Service Limit as a distinct thing.

In summary, I think we might be able to bring more clarity by reducing the number of terms that are being used to describe what appear to me to be the same thing. However, I may be missing something.

guzi99 commented 1 year ago

I think quota and rate limits are interchangeable.

ioggstream commented 1 year ago

We probably need to tune up the language in Introduction, that contains the sentence below.

RateLimit-Limit: the server's quota

The term "quota" does not exist alone in the spec. You either have "quota units" or "quota policy". The "quota policy" is made of a "service limit" and a "time window".

Defining "service limit" is useful wrt the concept of "expiring limit" when there are multiple quota policies at stake, or when the server advertises an expiring limit lower than the one specified in the quota policies (e.g. due to saturation).

abatishchev commented 1 year ago

I think quota and rate limits are interchangeable

Let me disagree. In my service (which is the throttling space in Azure) we distinguish these two:

darrelmiller commented 2 weeks ago

@abatishchev While I agree in concept that these are different things. The mechanics of how servers and clients track remaining quota remain the same whether it is for traffic shaping, or billing. Users can now use quota policy names to communicate the reasons for specific quotas. https://datatracker.ietf.org/doc/html/draft-ietf-httpapi-ratelimit-headers