docs: add redis analytics delivery topology
This commit is contained in:
@@ -29,7 +29,9 @@ This repository owns deployment concerns only. Backend and frontend directories
|
||||
|
||||
- Everything runs through Docker, Docker Compose, Bash scripts, and environment files/templates.
|
||||
- The CSV-to-PostgreSQL workflow is a one-time administrative bootstrap/recovery command, never a scheduled ingestion service. ZarinPal owns future production payment writes.
|
||||
- Analytics are calculated lazily by the API and persisted as typed PostgreSQL projections. Database-managed merchant/cohort revisions invalidate affected projections on insert; no scheduled analytics worker or Redis service is deployed for the MVP.
|
||||
- First dashboard access enqueues bounded parallel analytics-section jobs. An on-demand backend worker calculates them, Redis caches/coordinates them with a configurable high TTL, and the API streams partial completion through authenticated SSE. This worker is event-driven, never scheduled.
|
||||
- Redis and the analytics worker are private Compose services with health checks and resource limits; neither is exposed through Nginx. Redis is disposable cache/coordination state and is excluded from backup/restore.
|
||||
- Nginx disables response buffering/compression for the SSE route, preserves authenticated same-origin cookies and event ids, and uses reviewed stream timeouts/heartbeat behavior without weakening normal API proxy settings.
|
||||
- Nginx is the only public entry point. PostgreSQL and internal services are not internet-exposed.
|
||||
- Health checks distinguish liveness from readiness.
|
||||
- Backups are encrypted where supported, validated, retention-aware, and paired with rehearsed restores.
|
||||
|
||||
Reference in New Issue
Block a user