mailgun / gubernator

High Performance Rate Limiting MicroService and Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Multitenancy

jimhooker2002 opened this issue · comments

Howdy! Very cool project, looks well built and a real credit to you.

Feel free to resolve this immediately, this is all very conversational, not an issue as such.

Thoughts on the following kind of setup?....

Centralised cluster. 100 teams each with their own microservice all use the centrally managed cluster.

Fairness and (maybe) scaling problems to consider.

Do you have large central deployments like that? 100s of nodes in a cluster each with many GBs of memory used? Or would noisy neighbours, excessive network load from globals occur?

There are a lot of "it depends" in this conversation :-) .... Just trying to get a sense of the thing.

We currently use one cluster for all our rate limit needs, I am working on a PR that would allow support for multiple clusters as nosy neighbor is definitely an issue. The idea is that a rate limit can ask to be included in a subset of other clusters or just be included in the local cluster. As clusters get larger you need more memory/cpu/network to keep them performing well and not all rate limits need to be in the same cluster, but others might. My hope is that this change should cover all those situations. #119