Architecture Overview¶
XRXP has a split architecture designed for both reliability and live operations.
Main components¶
- Unity SDK on the device
- WebSocket ingestion for live telemetry and exchange
- Redis for queues, cache, and live pub/sub
- PostgreSQL for durable history
- REST API for stored data and admin actions
- Dashboard for operators
High-level flow¶
graph LR
U[Unity SDK] --> LS[Local storage]
U --> WS[WebSocket ingestion]
WS --> R[Redis]
R --> DB[PostgreSQL]
DASH[Dashboard] --> API[REST API]
API --> DB
DASH <-->|subscriptions| WS Why the architecture is split this way¶
- local storage protects against connectivity issues
- Redis absorbs bursts before database writes
- PostgreSQL stores the durable history
- WebSocket keeps live operations responsive
- REST API serves stable historical queries
Control surfaces¶
XRXP has two main remote-control patterns:
- instructions for tracked operational tasks such as scene dispatch
- exchange for live status/control modalities defined by the Unity app