웹 서버의 서버 이중화
1. DNS 라운드 로빈(Round Robin) 이중화
- 호스트 명에 대하여 복수의 IP 주소를 등록해 둔다
- DNS는 질의에 대해 순서대로 IP 주소 반환
1) 장점
- 매우 간단하게 서버 이중화
2) 단점
- 서버 상태 감시 X, 서버가 정지된 경우에도 이 서버의 주소 반환
- DNS가 세션 상태를 파악하지 않는다
: 웹 서버에 동적 콘텐츠가 있어서 세션 상태를 저장하고 있어야 하는 경우 부적합
2. 부하분산 장치를 이용한 이중화(Load balancing)
- DNS 라운드 로빈의 단점 극복
1) 부하분산장치(l4, l7)
- 이전에 어느 웹 서버에 요청을 할당 했는지 쿠키에 저장하고 있다
- 쿠키를 통해 세션 상태를 저장한다
* 세션 테이블
- 클라이언트에 요청을 반환할 때는 이 테이블을 참조
* 퍼시스턴스(persistence)의 종류
- 세션 상태 저장을 실현하는 기능
- 소스 IP 주소 : 클라이언트 IP 주소를 기반으로 요청을 할당할 웹 서버를 결정
- 쿠키 : HTTP 헤더 내에 접속한 웹 서버 정보를 저장
- URL : URL 구조 내에 접속한 웹 서버 정보를 저장
* 부하분산 장치의 할당 알고리즘
a. 라운드 로빈(round robin) : 서버의 IP 주소에 순서대로 요청
b. 최소 연결(least connection) : 현재 활성 세션 수보다 세션 수가 가장 적은 서버의 IP 주소에 요청을 할당
c. 응답시간(response time) : 서버의 CPU 사용률이나 응답 시간 등을 고려해서 가장 부하가 적은 서버의 IP 주소에 요청 할당
2) 페일 오버(failover)
- 웹서버 장애를 감지한 부하분산 장치는 클라이언트 요청을 동적으로 다른 서버에 할당 할 수 있다
* 클라이언트 처리에 영향을 준다?
- 정적콘텐츠는 상관없지만 동적 콘텐츠라면 페일 오버와 세션 정보가 사라지기 때문에 세션 상태가 초기화 된다
- failover와 함께 세션 정보를 유지하는 구조가 필요
'IT_Infra > Architecture' 카테고리의 다른 글
[IT_Infra] 안정성 및 이중화 (0) | 2016.11.20 |
---|---|
[IT_Infra] 마스터-슬레이브(master-slave) (0) | 2016.11.14 |
[IT_Infra] 복제(replication) (0) | 2016.11.14 |
[IT_Infra] 저널링(journaling) (0) | 2016.11.14 |
[IT_Infra] 핑퐁(Pingpong) (0) | 2016.11.13 |