Developer Guide / Performance & Scalability

Performance & Scalability

Targets, scaling approach and caching.

The platform is built to scale horizontally and meet interactive performance targets. The figures below are the project's stated targets (and reported current values) — validate them against your own environment.

MetricTargetReported
Page load< 2s~1.5s
API p99 latency< 200ms~150ms
Login< 1s~500ms
Service startup< 30s~20–25s

Scaling approach

Services are stateless and use stateless JWTs, so there is no session affinity — capacity is added by running more instances, discovered through Eureka and balanced by Spring Cloud LoadBalancer (round-robin) and Nginx (least_conn). The infra service can add or remove replicas at runtime; see Service Deployer.

Database

A single PostgreSQL instance with HikariCP pooling (max pool 20, min idle 5). Production deployments add streaming replication (primary for writes, replica for reads) with failover.

Caching

  • Service layer: @Cacheable/@CacheEvict with a configurable TTL (≈1 hour).
  • Frontend: TanStack Query for request dedup, stale-while-revalidate and optimistic updates.
  • Nginx: long max-age for versioned assets, no-cache for index.html, gzip enabled.