Hi all
I made a rate-limiter with a pluggable backend system, so you can choose where the rate-limiting counters are persisted to. I felt the need to do this because the most popular rate-limiter (ExRated) only persists to ETS, which isn’t so useful in bigger deployments with load-balancing, etc.
The main package is https://github.com/ExHammer/hammer, which includes an ETS backend. There is also a Redis backend: https://github.com/ExHammer/hammer-backend-redis.
I’ve also put together a demo Phoenix app.
The best place to jump in is probably the Tutorial
Any and all feedback would be greatly appreciated!