Chat de echipă și chat de suport
Mesajele se distribuie către fiecare server care ține conexiunea unui membru, iar streamul le oferă noilor veniți mesajele anterioare.
Trimiteți mesaje către fiecare client conectat, în timp real, cu canale partiționate pentru clustere și streamuri pentru istoric.
Fiecare server WebSocket se abonează la camerele în care se află utilizatorii lui conectați.
O demonstrație animată cu comenzi HotKV reale și răspunsuri de exemplu. Faceți clic pe orice pas pentru a sări la el. Comenzile și răspunsurile rămân în engleză, exact așa cum le tastați și le vedeți în HotKV.
O cameră de chat sau un flux de notificări live trebuie să ajungă la fiecare utilizator conectat deodată, pe mai multe servere WebSocket. Interogarea periodică a unei baze de date este prea lentă și prea scumpă, iar serverele au nevoie de o cale comună de a-și spune că s-a întâmplat ceva.
Fiecare server WebSocket se abonează la canalele care interesează utilizatorii lui. Când se întâmplă ceva, un singur PUBLISH ajunge la fiecare server abonat, care îl transmite utilizatorilor lui. Canalele partiționate țin traficul pe nodul care deține canalul într-un cluster, iar un stream alături de fiecare cameră păstrează istoricul pentru utilizatorii care se alătură mai târziu.
Fiecare server WebSocket se abonează la camerele în care se află utilizatorii lui conectați.
SUBSCRIBE room:42Serverul ei publică o singură dată. Răspunsul este numărul de abonați care l-au primit.
PUBLISH room:42 "{\"from\":\"alice\",\"text\":\"Deploy is green\"}"Mesajul este adăugat și în streamul camerei, plafonat la ultimele 1000 de mesaje.
XADD room:42:history MAXLEN ~ 1000 * from alice text "Deploy is green"El citește ultimele 50 de mesaje din stream, apoi intră live pe canal.
XREVRANGE room:42:history + - COUNT 50În modul cluster, SPUBLISH ține mesajul pe nodul care deține canalul.
SPUBLISH room:{42}:typing "alice"Mesajele se distribuie către fiecare server care ține conexiunea unui membru, iar streamul le oferă noilor veniți mesajele anterioare.
Actualizările de comenzi, mențiunile și alertele sunt împinse în browser în clipa în care se întâmplă.
Pozițiile cursorului și indicatoarele de scriere sunt difuzate pe canale de scurtă durată.
O singură publicare ajunge la fiecare abonat.
PUBLISHSUBSCRIBEAbonați-vă la room:* ca să primiți fiecare cameră.
PSUBSCRIBECanalele rămân pe nodul care le deține, într-un cluster.
SPUBLISHSSUBSCRIBEAsociați un canal cu un stream plafonat pentru mesajele pierdute de utilizatori.
XADDXREVRANGENu. Pub/sub livrează celor abonați în acel moment. Folosiți un stream alături de canal dacă utilizatorii au nevoie de istoric.
Da. Folosiți pub/sub partiționat (SPUBLISH, SSUBSCRIBE), ca traficul fiecărui canal să rămână pe nodul care îl deține.
Da. Notificările de spațiu de chei publică evenimente pentru schimbările de chei. Vedeți documentația despre notificările de spațiu de chei.
HotKV vorbește protocolul Redis, așa că puteți îndrepta spre el un client existent și rula aceleași comenzi.