티스토리 뷰
요즘은 MSA 아키텍처를 많이 지향하고 있는 추세이다. 이런 트렌드에 맞춰 배포 전략도 다양하게 개발되고 발전하여 변화하고 있다.
1. 롤링(Rolling)
일반적인 배포를 의미하며, 단순하게 서버를 구성하여 배포하는 전략이다. 다시 말해 구 버전에서 신 버전으로 트래픽을 점진적으로 전환하는 배포이다. 관리가 편하지만, 배포 중 한쪽 인스턴스의 수가 감소되므로 서버 처리 용량을 미리 고려해야 한다.
2. 블루 그린(Blue Green)
구 버전을 블루, 신 버전을 그린 이라고 해서 붙여진 이름이다. 신 버전을 배포하고 일제히 전환하여 모든 연결을 신 버전을 바라보게 하는 전략이다. 구 버전, 신 버전 서버를 동시에 나란히 구성하여 배포 시점에 트래픽이 일제히 전환된다. 빠른 롤백이 가능하고, 운영환경에 영향을 주지 않고 실제 서비스 환경으로 신 버전 테스트가 가능하다. 단 이런 구성은 시스템 자원이 두배로 필요하여 비용이 더 많이 발생한다.
3. 카나리(Canary)
카나리 배포에 대한 설명에 앞서 카나리에 대한 어원을 알아보자. Canary의 사전적 의미에는 카나리아라는 새이다. 카나리아는 유독가스에 굉장히 민감한 동물로 석탄 광산에서 유독가스 누출의 위험을 알리는 용도로 사용되어왔다. 미리 위험을 감지하기 위함이다.
카나리 배포는 위험을 빠르게 감지할 수 있는 배포 전략이다. 지정한 서버 또는 특정 user에게만 배포했다가 정상적이면 전체를 배포한다. 서버의 트래픽을 일부를 신 버전으로 분산하여 오류 여부를 확인할 수 있다. 이런 전략은 A/B 테스트가 가능하며, 성능 모니터링에 유용하다. 트래픽을 분산시킬 때는 라우팅을 랜덤 하게 할 수 있고, 사용자로 분류할 수도 있다.
'프로그래밍 > Etc' 카테고리의 다른 글
[Etc] 블록체인 무엇일까? (0) | 2019.10.06 |
---|---|
[Etc] Back end의 원리 (0) | 2019.10.06 |
[Etc] Loading.io 소개 (0) | 2019.09.29 |
[Etc] 도메인 주소 ip 확인 (0) | 2019.09.28 |
[Etc] ICONFINDER 소개 (0) | 2019.08.28 |
- SQL
- javascript
- Tomcat
- 개발환경
- Collection
- effective java
- 프로그래머
- spring
- 이직
- 제주도 3박4일 일정
- sort algorithm
- 성능분석
- Java
- 자바스크립트
- Eclipse
- 정렬 알고리즘
- 프로그래머스
- Maven
- 소프트웨어공학
- 오라클
- Linux 명령어
- 리액트
- 경력관리
- React
- 회고
- 제주도 여행
- 오라클 내장 함수
- 리눅스 명령어
- 자바
- 리액트 16
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |