Redis Adapter
-
멀티 서버 환경에서 Socket.io 사용하기개발/nodejs 2021. 11. 29. 20:00
서버 인스턴스가 하나로 이뤄진 환경에서는 클라이언트와 서버간의 소켓 통신은 그림 1 처럼 하나의 서버에서 모든 소켓 세션을 관리하는 형태로 구현된다. Server1 이 클라이언트와 연결된 모든 소켓 세션을 갖고 있기 때문에 모든 클라이언트에게 Event를 전달할 수 있다. 그런데 그림 1에서 서버를 하나 늘리면 클라이언트와 서버간의 소켓 통신은 그림 2처럼 된다. 클라이언트는 최초에 접속한 서버에 대해서 소켓 세션을 유지하게 되므로 Server1와 Server2 모두 별도의 소켓 세션을 갖게 된다. 그림 2와 같은 형태에서 Server1 에서 모든 클라이언트에게 직접 이벤트를 보내는 것은 불가능하다. 그림 3에서도 알 수 있듯이 Server1과 Client 2 간의 소켓 연결 세션이 없으므로 Server..