A request rate limiter that sits between a consumer and a cluster of web nodes limiting the request rate across the entire cluster per request PATH.
Please check Implementation Details for more information.
You will need Golang 1.9+, ag, entr(1) and glide, a linux box with build-essential and GNUmake
My current development mahcine is running Ubuntu, I'm no longer using Mac so I won't be including any macOS setup instructions. Please check each tool's corresponding link for detailed setup instructions.
- Glide, for dependency management and vendoring. Used for reproducable builds
$ curl https://glide.sh/get | sh
You can get more information here: Glide.sh
- entr(1) and ag for a nice development workflow. I use this to rebuild the project when a file changes.
$ apt-get install entr
$ apt-get install silversearcher-ag
You might want to be running this with sudo
make run
will run the service.
Just run make