Scaling & High Availability
Scale Ever Gauzy for enterprise workloads with horizontal scaling and high availability.
Architectureβ
Horizontal Scalingβ
API Serversβ
Run multiple API server instances behind a load balancer:
# docker-compose.yml
services:
api:
image: ghcr.io/ever-co/gauzy-api:latest
deploy:
replicas: 3
Requirements for Multi-Instanceβ
| Requirement | Description |
|---|---|
| Redis | Required for session storage and job queues |
| External file storage | Use S3/Wasabi instead of local storage |
| Stateless API | No in-memory state between requests |
| Database pooling | Use PgBouncer for connection pooling |
Database Scalingβ
Read Replicasβ
Configure read replicas for read-heavy workloads:
DB_REPLICATION=true
DB_REPLICA_HOST=replica.db.host
Connection Poolingβ
Use PgBouncer for efficient connection management:
[databases]
gauzy = host=localhost dbname=gauzy
[pgbouncer]
pool_mode = transaction
max_client_conn = 1000
default_pool_size = 40
Redis Clusteringβ
For high availability, use Redis Sentinel or Redis Cluster:
REDIS_HOST=sentinel-host
REDIS_PORT=26379
REDIS_SENTINEL_MASTER=mymaster
Related Pagesβ
- Production Deployment β initial setup
- Monitoring β production monitoring