System Architecture

A decoupled architecture separating the configuration management (Control Plane) from the high-performance traffic routing (Data Plane).

The Components

Control Plane

Comprising api-gateway-ui and ApiGatewayManagementSystem.

  • Built for usability and consistency.
  • Handles complex business rules.
  • Manages user authentication and RBAC.
  • Writes configurations to the Database.

Data Plane

Comprising the ApiReverseProxy.

  • Built for high throughput and low latency.
  • Reads configuration from Database/Cache.
  • Performs rate limiting and security checks.
  • Stateless and horizontally scalable.

Communication Patterns

The interaction between components is designed to be resilient and efficient:

Indirect Dependency (Shared DB)

The Control Plane and Data Plane do not talk to each other directly via HTTP. Instead, they share a PostgreSQL database. This ensures that the Data Plane remains functional even if the Management API is temporarily down.

Aggressive Caching

To avoid hitting the database for every incoming request, the ApiReverseProxy implements an aggressive in-memory cache for:

  • Route configurations (matching URLs to upstreams).
  • Consumer API keys and access permissions.
  • Rate limiting quotas (partially synchronized via Redis if distributed).

Deployment Architecture

Public Internet
Load Balancer
Data Plane (Auto-scaling Proxy Group)
Node 1
Node 2
Node N
Horizontal Scaling based on CPU/Traffic
Your Backend Services