ื“ืœื’ ืœืชื•ื›ืŸ ื”ืจืืฉื™

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โ€‹

RequirementDescription
RedisRequired for session storage and job queues
External file storageUse S3/Wasabi instead of local storage
Stateless APINo in-memory state between requests
Database poolingUse 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