728x90 nodejs3 Rolling deployment를 위한 nginx 설정 프로젝트를 진행하면서 무중단 배포를 적용하기 위해 이리저리 찾아보면서 Nginx를 활용해 로드밸런싱을 해야 한다는 것을 알게 되었다. 그리고 이번 프로젝트에 적용하기 가장 적합해 보이는 Rolling 배포 방식을 간단히 구현해 보았다. 현재 AWS EC2를 사용 중이기 때문에 Blue-green을 사용할 거면 인스턴스를 종료하고 시작하는 방법이 필요하다. 이 부분을 자동화시키고 싶어서 AWS 람다를 고려했으나 람다 권한이 없어서 적용하지 못했다. 결국 추가 인스턴스가 필요 없는 Rolling이 가장 적합하다 판단했다. 간단한 서버 세팅 Nginx 설정이 중점이므로 express로 정말 간단한 서버 두대만 띄웠다. 코드는 다음과 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 .. 2022. 10. 3. 웹소켓 웹 소켓을 HTML5에서 새로 추가되었고 실시간 양방향 데이터 전송을 위해 만들어졌다. 웹소켓은 WS프로토콜을 사용하고 대부분의 최신 브라우저는 이를 지원한다. 노드에서 WS를 사용하는 대표적인 방법은 ws 또는 Socket.IO 패키지를 사용하는 것이다. 이 방식을 사용하면 한번의 연결 후 지속적으로 연결이 유지되서 업데이트가 발생하면 서버가 자동으로 클라이언트에게 알린다. 또 한 HTTP와 포트를 공유한다. Polling 웹 소켓이 나오기 이전에 실시간 데이터 전송을 위해 사용했던 방법이다. 이는 HTTP가 클라이언트->서버형태의 통신이므로 주기적으로 서버에 업데이트가 있는지 확인을 하고 있다면 반환하는 방식이다. Server Sent Events(SSE) 이 기술은 EventSource라는 객체를 .. 2021. 1. 21. console객체 1.console.time(), console.timeEnd() 실행 시간을 측정하고 싶은 코드 맨 위에 console.time()을, 맨 끝에 console.timeEnd()를 추가하면 콘솔에서 해당 코드의 실행 시간을 볼 수 있다. 2. console.dir() 객체를 로깅한다 3. console.error() 에러를 로깅한다 4. console.trace() 호출 스택 로깅 5. console.log() 일반 로깅 2020. 11. 11. 이전 1 다음 728x90