2012-10-01 4 views
4

여기에 "현재 구현은 모든 다른 노드에 모든 게시 메시지를 브로드 캐스트합니다"라고 말하면서 앞으로 개선 될 것이라고 덧붙입니다.Pub/Sub 및 Redis Clustering

현재 구현시 : 메시지 손실이 중요하지 않은 경우; pub/sub에 redis를 사용하는 것이 현명합니까? 하나의 인스턴스가 브로드 캐스트 트래픽을 중지하는 것이 좋습니다. 쓰기 옆에 있기 때문에; 읽기는 다른 노드에도 전파되어야합니다! (따라서 클라이언트는 두 번 통보되지 않습니다.)

나는 뭔가를 놓친 적이 있습니까?

답변

5

아니요, 어떤 점도 놓친 것 같지 않습니다. Redis Cluster는 현재 진행중인 작업이며 여기에는 사양이 포함됩니다. pub/sub에 관한 섹션은 다소 가벼우 며 아마도 개선 될 수 있습니다.

Salvatore의 제안에 따르면 클라이언트는 모든 인스턴스가 아닌 단일 인스턴스에서 구독하므로 게시가 모든 인스턴스에 브로드 캐스팅되면 클라이언트는 한 번만 알림을받습니다. Redis 인스턴스가 작동 중지 된 경우 클러스터의 나머지 노드 중 하나 (다른 서버)에서 가입 할 클라이언트가 결정합니다.

또 다른 가능성은 클러스터의 한 노드를 고유 한 pub/sub 노드로 선택하여 클라이언트가이 노드에서만 공개하고 구독 할 수있게하는 것입니다. 그러나 pub/sub 서비스의 고 가용성은 이런 식으로 지원하기가 더 어려울 것입니다.