Overview
A lightweight API gateway built in Go for routing, rate limiting, authentication, and caching microservice requests.
Features
- Dynamic routing rules
- JWT authentication
- Rate limiting per client
- Redis caching layer
- Request/response transformation
- Health checks and metrics
Challenges & Solutions
Challenges
Low-latency routing, fair rate limiting under burst traffic, and maintaining consistency across distributed cache.
Solutions
Used Go's net/http with connection pooling, implemented token bucket with Redis for distributed rate limits, and set appropriate cache TTLs with cache-aside pattern.