Horizontal scaling
rubenv opened this issue · comments
Cool project!
We are running multiple machines behind a load balancer. Ideally infractions would be counted across the cluster, rather than per machine.
At first sight I don't see any storage. Is a thing like this possible?
You are correct. It creates its own storage in-memory.
The roadmap right now is to still focus on scaling up rather than out. Once I expose the server.go and server_test.go, you can centralize BadActor on its own server. You then perform http requests using basic auth secured by a key. If you were to put a single instance of BadActor on a beastly machine, I think it would be performant for most people (google, facebook, twitter, cloudflare excluded).
At the end of the day, a way to abstract the storage so that you could select your engine would be a nice feature. One that I'm open to getting around to, or happy to have someone else contribute if they want to spec out their design and submit a pull request.
Cool, thanks for the clarification.
On 12 Jan 2015 18:34, "Jared Folkins" notifications@github.com wrote:
You are correct. It creates its own storage in-memory.
The roadmap right now is to still focus on scaling up rather than out.
Once I expose the server.go and server_test.go, you can centralize BadActor
on its own server. You then perform http requests using basic auth secured
by a key. If you were to put a single instance of BadActor on a beastly
machine, I think it would be performant for most people (google, facebook,
twitter, cloudflare excluded).At the end of the day, a way to abstract the storage so that you could
select your engine would be a nice feature. One that I'm open to getting
around to, or happy to have someone else contribute if they want to spec
out their design and submit a pull request.—
Reply to this email directly or view it on GitHub
#1 (comment).