복붙노트

[REDIS] 멀티 코어 서버 클러스터와 socket.io를 사용하는 좋은 방법은?

REDIS

멀티 코어 서버 클러스터와 socket.io를 사용하는 좋은 방법은?

나는 단일 코어에서 벌금을 작동하는 nodejs 응용 프로그램을 만들었습니다. 이 응용 프로그램의 사용은 빛 및 고속 통신 Socket.IO에.

지금, 나는 nodejs에서 클러스터 모듈을 사용하여 멀티 코어 시스템에서 실행 할 수 있도록함으로써, 수직으로 내 응용 프로그램을 확장하고 싶었다.

레디 스에서 내 응용 프로그램 데이터를 저장에서 모든 따라서, 몇 가지 기본적인 데이터 및 세션 처리에 문제가 없습니다.

내가 클러스터를 사용하여 여러 작업자 프로세스를 생성 그러나, 각 근로자가 자신의 소켓 처리를 것 같다.

예를 들어, '손님'방라는 채팅방이 있다고 가정 할 수 있습니다.

사용자 A와 사용자 B가 방에 연결하고 그들은 서로 다른 작업자 프로세스에 배포됩니다.

서로 다른 과정에 이러한 프로세스가 공유 소켓 리스너를하지 않기 때문에, 서로 토론 사용자 A와 사용자 B에 대한 방법이 없습니다.

이 문제를 해결하는 좋은 방법은 무엇입니까? 합니까 socket.io 지원하는 멀티 코어 시스템?

유일한 싱글 코어 사용 socket.io인가?

해결법

  1. ==============================

    1.당신은 정상적으로하지만 백그라운드에서 레디 스 저장소와 socket.io 사용할 수 있습니다. 또한 외부 라이브러리없이 socket.io에 여러 인스턴스를 지원합니다. 심지어 여러 인스턴스를 통해 객실을 지원합니다.

    당신은 정상적으로하지만 백그라운드에서 레디 스 저장소와 socket.io 사용할 수 있습니다. 또한 외부 라이브러리없이 socket.io에 여러 인스턴스를 지원합니다. 심지어 여러 인스턴스를 통해 객실을 지원합니다.

    레디 스와 Socket.IO에 설정하는 방법 링크 : 배수 노드 / socket.io의 프로세스를 사용하여

  2. from https://stackoverflow.com/questions/11283539/good-way-to-use-socket-io-with-cluster-in-multi-core-server by cc-by-sa and MIT license