Chat di team e di supporto
I messaggi raggiungono ogni server che ha la connessione di un membro, e lo stream dà ai nuovi arrivati i messaggi arretrati.
Distribuisci i messaggi a ogni client connesso in tempo reale, con canali shardati per i cluster e stream per la cronologia.
Ogni server WebSocket si iscrive alle stanze in cui si trovano i suoi utenti connessi.
Una dimostrazione animata con comandi HotKV reali e risposte di esempio. Clicca su un passo qualsiasi per andarci. Comandi e risposte restano in inglese, esattamente come li digiti e li vedi in HotKV.
Una chat room o un feed di notifiche dal vivo deve raggiungere tutti gli utenti connessi nello stesso momento, su molti server WebSocket. Interrogare un database a intervalli è troppo lento e costoso, e i server hanno bisogno di un modo condiviso per dirsi che è successo qualcosa.
Ogni server WebSocket si iscrive ai canali che interessano ai suoi utenti. Quando succede qualcosa, un solo PUBLISH raggiunge ogni server iscritto, che lo inoltra ai suoi utenti. In un cluster i canali shardati tengono il traffico sul nodo proprietario del canale, e uno stream accanto a ogni stanza conserva la cronologia per gli utenti che entrano dopo.
Ogni server WebSocket si iscrive alle stanze in cui si trovano i suoi utenti connessi.
SUBSCRIBE room:42Il suo server pubblica una volta. La risposta indica quanti subscriber l'hanno ricevuto.
PUBLISH room:42 "{\"from\":\"alice\",\"text\":\"Deploy is green\"}"Il messaggio viene aggiunto anche allo stream della stanza, limitato agli ultimi 1000 messaggi.
XADD room:42:history MAXLEN ~ 1000 * from alice text "Deploy is green"Legge gli ultimi 50 messaggi dallo stream, poi passa al canale dal vivo.
XREVRANGE room:42:history + - COUNT 50In modalità cluster, SPUBLISH tiene il messaggio sul nodo proprietario del canale.
SPUBLISH room:{42}:typing "alice"I messaggi raggiungono ogni server che ha la connessione di un membro, e lo stream dà ai nuovi arrivati i messaggi arretrati.
Aggiornamenti degli ordini, menzioni e avvisi arrivano al browser nell'istante in cui accadono.
Posizioni dei cursori e indicatori di digitazione vengono trasmessi su canali di breve durata.
Una sola pubblicazione raggiunge ogni subscriber.
PUBLISHSUBSCRIBEIscriviti a room:* per ricevere tutte le stanze.
PSUBSCRIBEIn un cluster i canali restano sul nodo che li possiede.
SPUBLISHSSUBSCRIBEAbbina a un canale uno stream limitato per i messaggi che gli utenti si sono persi.
XADDXREVRANGENo. Il pub/sub consegna a chi è iscritto in quel momento. Usa uno stream accanto al canale se gli utenti hanno bisogno della cronologia.
Sì. Usa il pub/sub shardato (SPUBLISH, SSUBSCRIBE), così il traffico di ogni canale resta sul nodo che lo possiede.
Sì. Le keyspace notification pubblicano eventi per le modifiche alle chiavi. Vedi la documentazione sulle keyspace notification.
HotKV parla il protocollo Redis, quindi puoi puntarci un client esistente ed eseguire questi stessi comandi.