2014-12-11 7 views
1

나는 익스프레스 백엔드로 확장하려고합니다. 문제는 사용자가 들어올 때마다 또는 서버를 다시 시작하면 새로운 socket.id가 도착한다는 것입니다. 게다가 [Circular JSON] 문제를 일으키기 때문에 전체 소켓을 메모리에 저장할 수 없습니다. 소켓의 somepart를 다른 서버에서 동일한 소켓을 검색 할 수 있도록 redis로 저장하려면 어떻게해야합니까?redis와 함께 express/node.js를 socket.io와 수평으로 조정

답변

3

사용자를 socket.id에서 분리해야합니다. socket.id는 휘발성이며 브라우저를 새로 고침해도 변경 될 수 있습니다. 대신 사용자 소켓이 연결될 때 전달 된 핸드 셰이크 데이터를 살펴보고이를 사용하여 소켓을 사용자에게 연결하십시오. 소켓 데이터를 그대로 유지하려면 socket.io-redis을 사용하여 이미 처리 할 수 ​​있습니다.

은 socket.io을 확장하기위한이 링크를보세요 : http://socket.io/docs/using-multiple-nodes

+0

내가 실행 socket.io - 레디 스를 가지고 있지만 그것을 사용하는 방법에 대한 어떤 문서를 조금있을 것 같습니다. 도움이 될 수있는 링크가 있습니까? – Ridan

+0

아무 것도 사용해서는 안됩니다. 설정이 완료되면 백그라운드에 존재하며 다양한 socket.io 노드가 서로 통신 할 수 있습니다. 설치는 매우 간단합니다. https://github.com/Automattic/socket.io-redis –

관련 문제