團隊聊天與客服聊天
訊息會廣播到每台持有成員連線的伺服器,而串流則讓新加入者看到先前的內容。
即時將訊息廣播給每個已連線的用戶端,叢集使用分片頻道,歷史記錄則使用串流。
每台 WebSocket 伺服器訂閱其已連線的使用者所在的聊天室。
以真實 HotKV 指令與範例回覆呈現的動畫導覽。點擊任一步驟即可跳到該步驟。 指令與回覆維持英文,與您在 HotKV 中輸入及看到的完全一致。
聊天室或即時通知動態必須同時送達每位已連線的使用者,橫跨許多 WebSocket 伺服器。輪詢資料庫既太慢又太貴,而這些伺服器需要一種共用的方式,彼此通知有事發生。
每台 WebSocket 伺服器訂閱其使用者關心的頻道。只要有任何事發生,一次 PUBLISH 就能送達每台已訂閱的伺服器,再由它轉發給自己的使用者。分片頻道在叢集中把流量留在擁有該頻道的節點上,而每個聊天室旁的串流則為後來加入的使用者保存歷史記錄。
每台 WebSocket 伺服器訂閱其已連線的使用者所在的聊天室。
SUBSCRIBE room:42她的伺服器只發布一次。回覆的內容是有多少訂閱者收到了。
PUBLISH room:42 "{\"from\":\"alice\",\"text\":\"Deploy is green\"}"訊息同時也附加到聊天室的串流,最多保留最近的 1000 則訊息。
XADD room:42:history MAXLEN ~ 1000 * from alice text "Deploy is green"他從串流讀取最後 50 則訊息,然後在頻道上切換為即時。
XREVRANGE room:42:history + - COUNT 50在叢集模式下,SPUBLISH 會把訊息留在擁有該頻道的節點上。
SPUBLISH room:{42}:typing "alice"訊息會廣播到每台持有成員連線的伺服器,而串流則讓新加入者看到先前的內容。
訂單更新、提及與警示會在發生的當下推送到瀏覽器。
游標位置與輸入中的指示,透過短暫存在的頻道廣播。
一次發布就能送達每位訂閱者。
PUBLISHSUBSCRIBE訂閱 room:* 即可接收每個聊天室。
PSUBSCRIBE在叢集中,頻道會留在擁有它的節點上。
SPUBLISHSSUBSCRIBE將頻道搭配有上限的串流,保存使用者錯過的訊息。
XADDXREVRANGE不會。發布/訂閱只送給當下正在訂閱的對象。如果使用者需要歷史記錄,請在頻道旁搭配串流。
可以。請使用分片發布/訂閱 (SPUBLISH、SSUBSCRIBE),讓每個頻道的流量留在擁有它的節點上。
可以。鍵空間通知會為鍵的變動發布事件。請參閱鍵空間通知的文件。