우리가 흔히 사용하는 서비스들도 끊임없이 수정을 할 것이다.
개발한 이후, 수정한 내용을 배포하는 동안 서비스가 정지되지 않는다.
그럴 수 있는 이유는 무엇인가?
바로 무중단 배포라는 개념이 있기 때문이다.
과거에는 배포라는 것이 아주 큰 이벤트였기 때문에, 배포일에는 사용자가 적은 새벽 시간에 개발자들이 모두 남아 배포 준비를 하였다. 배포라는 것은 서비스를 정지한 이후에 진행될 수 있었다.
서비스를 정지하지 않고 배포할 수 있는 방법을 찾게 되었고, 이 개념을 무중단 배포라고 한다.
방법
1. AWS에서 블루 그린 (Blue-Green) 무중단 배포
2. Docker를 이용한 웹 서비스 무중단 배포
3. L4 스위치를 이용한 무중단 배포 (고가의 장비)
4. Nginx를 이용한 무중단 배포
Nginx
웹 서버, 리버스 프록시, 캐싱, 로드 밸런싱, 미디어 스트리밍 등을 위한 오픈소스 소프트웨어
- 리버스 프록시 : Nginx가 외부의 요청을 받아 백엔드 서버로 요청을 전달하는 행위
리버스 프록시 서버 (Nginx)는 요청을 전달하고, 실제 요청에 대한 처리는 웹 애플리케이션 서버들이 처리함.
이 중 '4. Nginx를 이용한 무중단 배포'가 가장 쉽고 저렴하다.
이때 리버스 프록시 서버를 이용한다.