Sviluppa e distribuisci una dashboard di analisi in tempo reale con Node.js, Redis e MongoDB
Sviluppa una dashboard di analisi in tempo reale che registra i clic, conserva le tendenze storiche e trasmette eventi al browser tramite WebSocket.
Lo stack
- Node.js con Express e Socket.io
- MongoDB per eventi storici
- Redis per contatori attivi e pub/sub
- Ambiente di esecuzione Adios con un processo Node persistente
Perché questo carico di lavoro richiede un processo persistente
Le app WebSocket richiedono un processo che resti attivo. Le funzioni serverless possono essere poco adatte alle connessioni persistenti perché sono progettate per richieste brevi. Su Adios, il server Node.js usa un ambiente di esecuzione persistente, mentre la piattaforma gestisce instradamento, TLS, log e connessioni ai servizi gestiti.
1. Sviluppa l’app
Chiedi all’agente IA Adios:
Build an Express and Socket.io analytics dashboard. Track click events, store
them in MongoDB, publish live counts through Redis, and show a realtime chart in
the browser. Add /healthz.
2. Aggiungi adios.yaml
name: realtime-analytics
region: de
replicas: 1
routable: true
build_cmd: npm ci
start_cmd: node server.js
runtime:
name: node@24
port: 3000
health_path: /healthz
memory_mb: 1024
env:
MONGODB_URI: secret://MONGODB_URI
REDIS_URL: secret://REDIS_URL
requires:
- mongo
- cache
Crea una risorsa MongoDB chiamata mongo e una risorsa Redis chiamata cache, oppure imposta i due URL come segreti se disponi già di servizi gestiti.
3. Distribuisci
adios up
adios logs --runtime
4. Provalo
Apri la dashboard da un portatile e da un telefono, interagisci con le pagine e verifica che entrambi i client ricevano lo stesso flusso in tempo reale. Poi controlla i log di esecuzione e i record MongoDB per confermare che l’app gestisca sia i dati in tempo reale sia quelli storici.
Consulta percorso di distribuzione Node.js, il verifiche di distribuzione Redis, e il verifiche di distribuzione MongoDB prima di adattare questo stack alle analisi in produzione.