Node.js 컨테이너 종료가 느릴 때 먼저 볼 graceful shutdown 기준배포 버튼을 눌렀을 뿐인데 몇 초 동안 502가 튑니다. 로그에는 에러가 많지 않고, 새 컨테이너도 정상으로 떠 있습니다. 그런데 사용자 입장에서는 방금 누른 저장 버튼이 실패했고, 운영자는 "배포 중 잠깐 그런 것 같다"는 애매한 말만 남깁니다.이런 문제는 보통 배포 도구만 바꿔서는 사라지지 않습니다. 컨테이너가 내려갈 때 애플리케이션이 어떤 순서로 요청을 멈추고, 남은 일을 끝내고, 프로세스를 종료할지 정해져 있어야 합니다. Node.js 서버라면 SIGTERM을 받고도 계속 새 요청을 받는지, server.close() 이후 오래 붙은 연결을 어떻게 다룰지, readiness가 먼저 내려가는지부터 확인해야 합니다.나..
프로젝트별로 Node Version 관리하기 개요하나의 프로젝트를 할때는 상관없지만, 기존 레거시를 유지보수하면서, 새로운 프로젝트를 진행해야 할 때, 프로젝트별로 버전이 상이할 때가 있다. 그나마 요즈음은 nvm 있어서 버전을 쉽게 변경가능하지만 이마져도 귀찮은 것이 개발자의 게으름이 아닌가 싶다.이번에는 프로젝트별로 node 버전을 자동으로 바꿔주는 방법을 사용하려고 한다.준비물 (본작업은 m1 맥북에서 작업을 진행하였으나, intel 맥도 크게 다르지 않을것으로 추측된다)1. NVM2. 버전이 서로 다른 프로젝트 2개 이상 작업# nvm installbrew install nvm# nvm 환경설정mkdir -p ~/.nvm# 생성된 nvm 환경으로 이동cd ~/.nvm# 내용 생성touch aut..
