00.00.00

GoThrottle

Projects/GoThrottle

Command Palette

Search for a command to run...

Proxy Console

GoThrottle

Live

Distributed reverse proxy for config-driven, dynamic rate limiting.

Stack used

Go
Docker
Redis
DevOps & Systems Engineering

About this project

GoThrottle is a high-performance, config-driven distributed reverse proxy and rate-limiting middleware written in Go. Designed for production backend services, it intercepts incoming HTTP requests, applies granular rate-limiting policies per route, client IP, or API key, and proxies traffic to upstream services — all with microsecond-level decision overhead. Rate limit state is stored in Redis using a sliding window algorithm, ensuring accurate and consistent enforcement across multiple GoThrottle instances in a distributed deployment. Configuration is driven by a YAML/JSON config file, enabling zero-downtime policy updates without redeployment. GoThrottle is containerized with Docker for seamless deployment alongside existing microservice stacks. This project demonstrates advanced Go programming, distributed systems design, HTTP proxy implementation, and production-grade rate limiting strategy.

Key highlights

  • HTTP reverse proxy with sub-millisecond rate limit decisions
  • Redis-backed sliding window rate limiting algorithm
  • Per-route, per-IP, and per-API-key throttling policies
  • YAML/JSON config-driven with hot-reload support
  • Horizontally scalable across multiple instances via shared Redis
  • Docker-containerized for plug-and-play microservice deployment
  • Detailed request/response logging and metrics export
  • Written in idiomatic Go for maximum performance and concurrency

Related topics

GoThrottle rate limiting proxyGo reverse proxy open sourceRedis rate limiting distributedAPI gateway Go microservicesHTTP rate limiter Go RedisGo DevOps project open sourcedistributed rate limiting middlewarereverse proxy sliding window algorithmGoLang backend infrastructure toolAPI throttle middleware Bangalore developer