4 ms·
Congrats on the launch! I am curious, how does your multitenant system work? And how do you ensure fairness?
by ddmkr_conveo 2y ago
Congrats on the launch! I am curious, how does your multitenant system work? And how do you ensure fairness?
- tonyhb 2y agoThanks! There are a few things at play. High level, it's important to note we provide infra for you — so our multi-tenancy supports many tenants for every user. In general, fairness means distributing work evenly amongst all accounts. This largely means partitioned queues. Firstly, every functions have their own queues. We have queues of queues: queues of functions available. And then we have queues of accounts. And so on. It's like nesting dolls all the way down. There are lots of really fine details to get right: continuations, step parallelism, `connect()` with long running workers all mess with fairness, as do batching, debounce, throttling. We wrote about it in some detail here: https://www.inngest.com/blog/building-the-inngest-queue-pt-i-fairness-multi-tenancy https://www.inngest.com/blog/building-the-inngest-queue-pt-i.... We'll probably do some deeper dives on this next year, too!