-
웹 클러스터CS지식의 정석/네트워크 2023. 12. 2. 00:11
웹 클러스터(web cluster)란?
네트워크에 접속된 여러 개의 서버를 하나로 연결하여 하나의 컴퓨터처럼 동작하도록 만드는 기법웹 클러스터가 갖추어야 할 기능
1. 다수의 서버에 연산을 분배 공유할 수 있는 부하 분산 기능
2. 특정 서버의 문제가 전체 서비스에 영향을 미치지 않도록 하는 페일 세이프 기능(fail safe)
3. 특정 서버의 갱신 내용을 다른 서버에 전달하기 위한 실시간 동기화 기능
등이 있다.
웹 클러스터를 구현하는 방식(아키텍처에 따른 분류)
1. 라운드로빈 DNS(round-robin DNS)
2. 브로드캐스팅(broadcating)
3. 직접 라우팅(direct routing)
4. 디스패쳐(dispatcher)
등이 있다.
1) 라운드로빈 DNS(round-robin DNS) 방식
사용자가 해당 서비스의 도메인을 DNS 서버를 통해 IP 주소로 변환하는 과정에서 DNS서버에 IP변환을 요청할 때마다 다른 서버의 IP를 알려주어 부하를 분산하는 방식.
장점
- 서버의 운영체제에 비종속적
- 적은 기회비용으로 손쉽게 구축 가능
단점
- 매번 IP를 질의하기 때문에 연결 지연이 존재
- DNS 서버가 웹 클러스터 서버의 장애여부를 파악하지 못하므로 파일 세이프 기능을 구현할 수 없다.
2. 브로드캐스팅(broadcating) 방식
물리적으로 네트워크에 도달한 트래픽을 모든 서버에 전달시키고, 그 중 특정 한 서버만이 응답을 하는 방식
장점
- 병목현상을 발생 시키는 지점이 없게 된다.
단점
- 서버 운영체제의 이더넷 어뎁터를 수정해야한다.(때문에 소스코드가 공개되어야 하고, 수정이 안되는 운영체제는 사용X)
- 불필요한 트래픽이 증가
3. 직접 라우팅(direct routing) 방식
요청을 중계해주는 서버를 통해 클라이언트의 요청을 서비스 서버에 연결하는 방식(최초에만 중계서버, 이후는 직접 통신)
장점
- 중계 서버의 다양한 트래픽 집중화를 막을 수 있다.
- 중계서버의 트래픽 분배 정책에 따라 트래픽을 어느정도 분배 가능
단점
- 운영제체에 제약이 있다.
- 트래픽 처리량을 정확히 알 수 없다.(연결 최초에만 도와주기 때문에)
4. 디스패쳐(dispatcher) 방식
직접 라우팅과 비슷하지만 앞에 중계 서버가 하나 더 존재하고 모든 요청이 중계 서버를 통한다.
장점
- 모든 요청과 응답을 감시하기 때문에 서버의 상태 파악이 수월
- 운영체제에 자유롭다
단점
- 단일 병목 지점이 될 수 있다.(모든 트래픽을 감당)
Reference
이금은, 「웹서버 과부하 방지를 위한 효과적인 트래픽 조절 방법 = (An) Efficient Traffic Controlling Scheme for Webservers Overload Protection」, 순천 : 순천대학교 정보과학대학원, 2003
'CS지식의 정석 > 네트워크' 카테고리의 다른 글
데이터 렌더링에 따른 분류(SPA, CSR, SSR, SSG, ISR) (0) 2023.12.02 서버 과부하 방지 기법들 (2) 2023.12.01 로그인 #3. OAuth 인증 방식 (0) 2023.11.29 브라우저 렌더링 과정 (0) 2023.11.03 대규모 트래픽 과부하 해결 방법 #3 (0) 2023.11.02