Skip to content

Modelling API rate limits as diophantine inequalities

vivekn.dev
74 pointsviveknathani_6 comments
On HN

Comments

If they do not know about it already, the OP would benefit from knowing more about Linear Programming and Mixed Integer Linear Programming. Many optimization problems can be naturally modeled into LPs or MILPs and there are POWERFUL solvers with decades of theory and optimization behind them already developed to solve them.

The retry times are integers.

There's no reason the retry times have to be integers. But the number of retries has to be an integer.

The whole diophantine aspect of this seems contrived - where is the integer restriction coming from? Does that make the problem more tractable or more difficult?

Indeed, and to answer your question: more difficult

This is an interesting approach, but a simpler one is to add a level of indirection by having a supervisor meter requests, including retries, and provide back-pressure as applicable.

Doing so allows other decisions to be made beyond rate limiting, such as prioritization, deferring invocations, memoization, etc.

Wrote something about applying math in modelling a rate-limiting scenario for API clients. Felt like posting it here. Happy to hear your thoughts, HN!

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.