团队聊天与客服聊天
消息分发到每台持有成员连接的服务器,流则为新加入者提供积压的消息。
将消息实时分发给每个已连接的客户端,集群使用分片频道,历史记录交给流。
每台 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不会。pub/sub 只投递给那一刻已订阅的对象。如果用户需要历史记录,请在频道旁边使用一个流。
可以。使用分片 pub/sub(SPUBLISH、SSUBSCRIBE),让每个频道的流量留在拥有它的节点上。
可以。键空间通知会为键的变化发布事件。请参阅关于键空间通知的文档。