팀 채팅과 지원 채팅
메시지가 멤버의 연결을 가진 모든 서버로 전달되며, 스트림이 새로 온 사람에게 이전 메시지를 제공합니다.
연결된 모든 클라이언트에 메시지를 실시간으로 전달하며, 클러스터를 위한 샤딩된 채널과 기록을 위한 스트림을 지원합니다.
각 WebSocket 서버는 연결된 사용자가 있는 방을 구독합니다.
실제 HotKV 명령과 예시 응답으로 구성된 애니메이션 안내입니다. 원하는 단계를 클릭하면 해당 단계로 이동합니다. 명령과 응답은 HotKV에서 입력하고 보는 그대로 영어로 표시됩니다.
채팅방이나 실시간 알림 피드는 여러 WebSocket 서버에 걸쳐 연결된 모든 사용자에게 한 번에 도달해야 합니다. 데이터베이스 폴링은 너무 느리고 비싸며, 서버들은 무언가 일어났음을 서로 알릴 공유된 방법이 필요합니다.
각 WebSocket 서버는 사용자들이 관심 있는 채널을 구독합니다. 무언가 일어나면 PUBLISH 한 번이 구독 중인 모든 서버에 도달하고, 각 서버가 사용자에게 전달합니다. 샤딩된 채널은 클러스터에서 트래픽을 채널을 소유한 노드에 두며, 각 방 옆의 스트림은 나중에 들어오는 사용자를 위해 기록을 보관합니다.
각 WebSocket 서버는 연결된 사용자가 있는 방을 구독합니다.
SUBSCRIBE room:42Alice의 서버가 한 번 게시합니다. 응답은 메시지를 받은 구독자 수입니다.
PUBLISH room:42 "{\"from\":\"alice\",\"text\":\"Deploy is green\"}"메시지는 방의 스트림에도 추가되며, 최근 1000개로 제한됩니다.
XADD room:42:history MAXLEN ~ 1000 * from alice text "Deploy is green"Bob은 스트림에서 최근 메시지 50개를 읽은 뒤 채널에서 실시간으로 받습니다.
XREVRANGE room:42:history + - COUNT 50클러스터 모드에서 SPUBLISH는 메시지를 채널을 소유한 노드에 둡니다.
SPUBLISH room:{42}:typing "alice"메시지가 멤버의 연결을 가진 모든 서버로 전달되며, 스트림이 새로 온 사람에게 이전 메시지를 제공합니다.
주문 업데이트, 멘션, 경보가 발생하는 순간 브라우저로 푸시됩니다.
커서 위치와 입력 중 표시가 수명이 짧은 채널로 브로드캐스트됩니다.
게시 한 번이 모든 구독자에게 도달합니다.
PUBLISHSUBSCRIBEroom:*을 구독하면 모든 방의 메시지를 받습니다.
PSUBSCRIBE클러스터에서 채널은 자신을 소유한 노드에 머뭅니다.
SPUBLISHSSUBSCRIBE채널에 크기 제한이 있는 스트림을 짝지어 사용자가 놓친 메시지를 보관합니다.
XADDXREVRANGE아닙니다. pub/sub는 그 순간 구독 중인 대상에게만 전달합니다. 사용자에게 기록이 필요하면 채널 옆에 스트림을 두십시오.
예. 샤딩된 pub/sub(SPUBLISH, SSUBSCRIBE)를 사용하면 각 채널의 트래픽이 해당 채널을 소유한 노드에 머뭅니다.
예. 키스페이스 알림이 키 변경 이벤트를 게시합니다. 키스페이스 알림 문서를 참고하십시오.