Skip to content

Lattice is a configurable API Gateway. It features authentication via API Key, middleware, reverse proxying and health checks for upstream servers, caching, rate limiting, and more

Notifications You must be signed in to change notification settings

esotuvaka/lattice

Repository files navigation

Lattice

A high-performance API Gateway written in Go that provides authentication, caching, rate limiting, and dynamic configuration management.

Features

Core Features

  • Dynamic route configuration via Redis
  • JWT and API key authentication
  • Response caching with Redis
  • Distributed rate limiting
  • Reverse proxy to upstream services
  • Automatic retry
  • Circuit breaking
  • Load balancing

Observability

  • Prometheus metrics
  • Grafana dashboards
  • Structured logging (zap)
  • Distributed tracing
  • Health checks

Security

  • JWT validation
  • API key management
  • Role-based access control
  • TLS termination
  • Request validation

Architecture

graph TD
    Client[Client] --> Lattice[Lattice API Gateway]
    Redis[(Redis)] --> Lattice
    Lattice --> Redis[(Redis)]
    Lattice --> Upstream1[Upstream 1]
    Lattice --> Upstream2[Upstream 2]
    Lattice --> UpstreamN[Upstream N]
    Lattice --> Prometheus[Prometheus]
    Prometheus --> Grafana[Grafana]
Loading

About

Lattice is a configurable API Gateway. It features authentication via API Key, middleware, reverse proxying and health checks for upstream servers, caching, rate limiting, and more

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published