GoThrottle

GoThrottle

A distributed, config-driven rate-limiting reverse proxy with modular routing and dynamic throttling policies.

GoThrottle is a config-driven reverse proxy that enables distributed rate-limiting with support for global, per-route, and per-IP throttling. It allows developers to enforce traffic limits and dynamic routing without changing application code, entirely through a declarative config.yaml.

Note:

You must configure your own rate-limits and upstream routes.


diagram-export-19-11-2025-14_06_52

Project Overview

GoThrottle is a modular reverse proxy written in Go, designed for scalability and observability. It uses a token-bucket algorithm for request throttling and supports pluggable storage backends like Redis or in-memory stores.

Developers can define routing rules, throttle limits, upstream services, and middleware pipelines directly from configuration — making it suitable for distributed, multi-service architectures.


Key Features

  • Token-Bucket Rate Limiting
    Supports global, per-route, and per-IP throttles configurable via YAML.

  • Declarative Routing Layer
    Define upstream services, paths, and limits without modifying code.

  • Pluggable Backend Stores
    Built-in support for Redis and in-memory rate limit counters.

  • Middleware Pipeline
    Request logging, structured JSON output, panic-safe recovery, and more.

  • Production-Grade Config System
    Full control using a single config.yaml file.


Technologies Used

LayerTech Stack / Tools
LanguageGo
Rate Limiting EngineToken Bucket Algorithm
Storage BackendRedis, In-Memory
Config SystemYAML-Driven
MiddlewareCustom Chainable Handlers
DeploymentDocker, Binary Build

Why This Project Matters

GoThrottle demonstrates backend systems engineering, traffic control, and high-performance Go design. It highlights practical experience in:

  • Building reverse proxies
  • Designing middleware pipelines
  • Implementing scalable rate-limiting mechanisms
  • Managing distributed state with Redis
  • Declarative, config-first backend systems

This project reflects the ability to design production-ready infrastructure components, essential in API gateways, platform engineering, and SaaS multi-tenant architectures.