Argomenti di tendenza
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Ho costruito un'applicazione di Instant Messenger interamente su @Cloudflare. Ci è voluto 1 giorno, 3 file, 4 risorse... ed è pronta a scalare da 0 a milioni.
Worker → autenticazione e routing
Database D1 → memorizzare utente/password
User DO → profilo utente e amici
Conversation DO → messaggi
Blog in risposta, ma un rapido teaser qui:
La libreria cloudflare/actors ha reso gran parte di questo un gioco da ragazzi con proprietà persistenti, gestione facile delle connessioni web socket e invio di messaggi a tutti gli ascoltatori. Ma cosa faceva ciascun pezzo?
Autenticazione e Routing (Worker + D1)
Tutte le richieste passano attraverso il Worker, sia autenticato che non. Se non autenticato, le azioni disponibili sono il login o la registrazione. Quando autenticato, può quindi passare la richiesta a uno dei nostri Durable Objects (utente o conversazione) per stabilire una connessione web socket. Tutte le informazioni di autenticazione degli utenti sono memorizzate in un database D1 (tenuto tutto CF per questo esempio).
Servizio Utente (Durable Object)
La nostra vista della lista amici si collega direttamente al nostro Durable Object utente tramite web socket. Quando aggiorniamo il nostro stato, inviamo un messaggio al nostro DO individuale che poi può trasmettere via RPC ai DO dei nostri amici e determinare se sono online per inviare loro un messaggio web socket per l'aggiornamento in tempo reale. Qui memorizziamo anche la nostra lista amici in un database SQLite limitato al nostro utente.
Servizio Conversazione (Durable Object)
Ogni singola conversazione tra due utenti ottiene la propria istanza DO. La sua unica responsabilità è memorizzare i messaggi, inviare notifiche (tramite socket) quando vengono inviati nuovi messaggi e inviare una notifica quando un utente inizia a digitare in modo che possiamo vedere "La persona sta digitando..."
TLDR;
Costruire app per divertimento per rivivere ricordi nostalgici dell'infanzia è... ne vale la pena.


Principali
Ranking
Preferiti
