커리큘럼
home
React
home

로드밸런서 환경에서의 Socket 연결 (Redis Adapter) (1)

문제 발생: 서버 부하를 효율적으로 관리하기 위해 로드밸런서를 도입한 후, 일부 유저가 Socket 연결에 실패하거나 연결이 불안정해지는 문제가 발생했습니다.
원인: 로드밸런서 도입으로 인해 소켓 연결이 분산된 서버들로 나누어졌고, 이로 인해 서버 간의 소켓 연결 정보가 공유되지 않아 일부 유저가 연결 오류를 겪었습니다.
해결 방법: 문제를 해결하기 위해 Redis 어댑터를 도입하여 분산된 서버 간의 소켓 연결 정보를 통합적으로 관리했습니다. 이를 통해 각 서버가 동일한 소켓 연결 상태를 공유하게 되어, 모든 유저에게 안정적인 실시간 연결을 제공할 수 있게 되었습니다.
RedisAdapter 설정 기존에 사용하고 있는 Redis 클라이언트의 환경변수를 사용하고 있습니다.
main.ts
Redis 어댑터를 통해 분산된 소켓 서버들이 통합적으로 관리되고 있습니다.