사랑하애오
article thumbnail
Warning: connect.session() MemoryStore is not designed for a production environment
Node.js 2022. 11. 2. 11:26

회사에서 서버를 배포하려고 하니 로컬환경에서는 문제 없이 잘 작동되는 exress-session에서 자꾸 warning을 뱉어내서 알아보니 production 환경에서는 제대로 작동하지 않는다는 것이었다. 그래서 결국 redis를 쓰기로 다짐했다. Node 프로젝트에서 pm2로 다중 클러스터 인프라를 구축했다면 세션 불일치 문제가 생기게 마련이다. 만일 서버가 종료되어 메모리가 날라가면 접속자들의 로그인이나 혹은 기타 세션들이 모두 날라가버리게 된다. 따라서 이를 방지하기 위해 세션 아이디와 실제 사용자 정보를 외부 데이터베이스에 저장하는 편이다. 이때 개발자들이 많이 사용하는 것이 Redis db이다. 다른 데이터베이스를 사용해도 되지만, 세션은 빠릿빠릿하게 응답을 해야되기 떄문에 메모리 기반의 데이터..