[NestJS] Socket.IO / PM2 / Node:Cluster 사용 이슈

손재명·2023년 2월 21일
2

개발할때는 이슈가 없는데, 실제 배포 시 PM2 쪽이나 socket.io에서 일부 충돌이나 에러가 날 수 있다.

Polling 방식의 경우 구현 구조 상 상시 연결된 소켓이 아니라 매 이벤트 발생시 마다 노드로 재연결을 하게 되는데.. 이때 클러스터로 구성된 서버이거나 LB가 앞에 있는 병렬 스케일링된 노드 군인 경우 방금 연결된 노드가 아닌 다른 노드로 연결이 될 가능성이 높다.

그래서 실질적으로 사용해야하는게 StickySession을 적용해야 하는데 해당 기술을 사용하게 되면 생기는 또 다른 문제들이 있다.

레퍼런스 :
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=bitofsky&logNo=220729945954

profile
”빠르게 성장하는 로켓 개발자“ 성장하는 과정을 기록하다.

0개의 댓글