2012-05-28 6 views
0

저는 클라이언트간에 데이터를 전송하는 꽤 큰 프로젝트를 진행하고 있습니다. 그래서 저는 지금 막 새로운 기술에 대해 연구하고 있습니다. 어쨌든, 나는 Nodejs 시도를 줄 줄 알았는데. socketio와 redis에 대한 질문이 있습니다.socketio 및 redisstore 스케일링 효율

socketio에서 pub/sub 기능을 사용할 때 모든 클라이언트 연결에서 redis에 대한 새 연결이 생성됩니까? 또는 socketio는 pub/sub 작업을 수행하기 위해 최대 3 개의 연결 (클라이언트 수에 관계없이 합계 3 개)을 사용합니까?

답변

0

the source에서 각 클라이언트 연결에는 Redis에 대한 두 개의 가입 (코드에서 this.store)이 있지만 각 socket.io 서버에는 Redis (source)에 대한 연결이 3 개만있는 것으로 보입니다.

this.store.subscribe('message:' + data.id, function (packet) { 
    self.onClientMessage(data.id, packet); 
}); 

this.store.subscribe('disconnect:' + data.id, function (reason) { 
    self.onClientDisconnect(data.id, reason); 
}); 

Redis는 구독뿐만 아니라 많은 연결을 처리 할 수 ​​있어야하지만 항상 벤치마킹을 권장합니다.

+0

그래, 소스 코드를보고 있었는데, 각 클라이언트마다 Redis 'Store'개체가 생성되는지 또는 다시 사용되는지 여부를 파악할 수 없었습니다. 어떤 방법이든지 고맙습니다. – States