--목차--
1. DNS?
2. Load Balancing?
3. DNS Round Robin?
--------
1. DNS?
1) 정의
- Domain Name System의 줄임말로, 사람이 읽기 쉬운 도메인 이름을 기계가 읽을 수 있는 IP주소로 변환(반대도 수행 가능)하여 컴퓨터가 통신할 수 있도록 도와주는 데이터베이스 시스템이다.
- 도메인 이름과 매칭된 IP주소를 확인할 수 있게 해주는 전화번호부와 같은 역할이다.
2) 구성 요소
Domain Name Space, Name Server, Resolver로 이루어져 있다.
2-1) Domain Name Space
- 도메인 이름을 저장.
2-2) Name Server
- 해당 도메인 이름의 IP주소 소유.
2-3) Resolver
- DNS 클라이언트 요청을 네임 서버로 전달. (이 전달하는 요청을 쿼리라고 부른다.)
- Name Server에서 정보를 클라이언트에게 제공.
3) 동작 과정
- 브라우저에 특정 도메인을 입력
- Local DNS 서버에서 IP주소를 요청하여 해당 도메인 네임이 캐싱되어 있는지 확인 후 IP를 알려줌.
- 확인되지 않으면 Root DNS 서버에 도메인 네임 확인 요청.
- IP를 찾는 과정 (Root DNS 서버 - Top-Level 서버, Top-Level 서버 - Second-Level 서버를, Second-Level 서버 - Sub DNS 서버)
- 해당 도메인을 다시 방문하면 빠르게 찾기 위해 해당 도메인이라는 서버의 IP를 로컬 DNS 서버에 캐싱.
2. Load Balancing?
1) 정의 : 여러 대의 서버를 두고 서비스를 제공하는 분산 처리 시스템에서 필요한 기술이다.
2) 목적 : 클라이언트의 수가 증가하면 그만큼 트래픽이 증가하여 서버 1대만으로는 정상적인 서비스가 불가능하기 때문이다.
2-1) 해결책
- Scale-up(서버 자체의 성능 확장)이 아닌 Scale-out(기존 서버와 동일/낮은 성능의 서버를 2대 이상 증설해 운영)을 사용할 경우 Load Balancing을 이용한다.
- 서버가 2대 이상으로 로드 밸런싱이 되면 클라이언트가 이전에 접속했던 서버에 다시 접속한다고 보장할 수 없음.
- 클라이언트가 이전에 요청을 보낸 웹 서버에 지속적으로 요청을 보내서 이전에 접속했던 서버를 인식해야 함.(cookie/keep alive)
3. DNS Round Robin?
1) 정의 : 서버에 들어온 요청대로 IP 주소를 순서대로 돌아가며 배정.
2) 장점
- 순차적으로 IP 주소를 돌려써서 하나의 서버가 모든 요청을 받는 때보다 부하 감소.
- 유저 관점에서는 IP주소를 변경하지 않도록 IP 주소의 변경 사실을 은폐하는 것처럼 보임.
- 로드 밸런서와 같은 중간 장비 필요 없음.
- 비용 감소 및 간편함.
3) 단점
- 서버 수만큼 공인 IP 주소 필요.
- 균등하게 분산되지 않음.
- 스마트폰 접속은 프록시 서버 경유.(캐리어 게이트웨이)
- 이 때, 프록시 서버에서 이름 변환 결과가 일정 시간동안 캐싱되어서 같은 프록시 서버 경유시 같은 서버 접속 서버가 다운되어도 확인 불가능.
- PC용 웹 브라우저도 균등하게 부하분산 어려움.
- DNS 질의 결과 캐싱하기 때문.
- DNS 레코드의 TTL 값을 짧게 설정함으로 일정량 해소. 그러나 TTL은 캐시 해제와 관련 없기 때문에 주의 필요.
- 스마트폰 접속은 프록시 서버 경유.(캐리어 게이트웨이)
- 서버가 다운되어도 확인 불가.
- DNS 서버는 웹 서버의 부하, 접속 수 등의 상황에 따라 질의결과 제어 불가.
- 임의의 원인으로 서버가 다운되어도 유저에게 제공해 다운된 서버로 연결되기도 함.
- DNS 서버는 웹 서버의 부하, 접속 수 등의 상황에 따라 질의결과 제어 불가.
부하 분산을 위한 방법이지 다중화 방법은 아님.
4) 해결책
- 다중화 구성 방식(Synchronous Time-Division Multiplexing)
- AP 서버에 VIP(Virtual IP)를 부여해 다중화 구성.
- 가중치 편성 방식(Weighted Round Robin)
- 각각의 웹 서버에 가중치를 부여해 분산 비율 변경.(처리능력이 높은 서버는 가중치 높게 설정.)
- 최소 연결 방식(Least Connection)
- 접속 클라이언트 수가 가장 적은 서버를 선택. (로드밸런서에서 실시간 connection 수 관리 / 서버에서 주기적으로 알려줌)
https://hanamon.kr/dns란-도메인-네임-시스템-개념부터-작동-방식까지/
DNS란? (도메인 네임 시스템 개념부터 작동 방식까지) - 하나몬
이 게시물의 중요 포인트 DNS(도메인 네임 시스템)이 사람이 읽을 수 있는 도메인 이름(www.hanamon.kr)을 IP 주소로 변환하는 시스템이라는 것은 쉽게 알 수 있습니다. 이번 글에서는 이렇게 도메인
hanamon.kr
https://dheldh77.tistory.com/entry/네트워크-로드-밸런싱Load-Balancing
[네트워크] 로드 밸런싱(Load Balancing)
로드 밸런싱(Load Balancing) - 서버에 가해지는 부하를 분산해주는 장치 또는 기술 - 클라이언트와 서버풀 사이에 위치해 한 대의 서보로 부하가 집중되지 않도록 트래픽을 관리 - 각각의 서버가 최
dheldh77.tistory.com
[Network] DNS round robin
HTTP 통신에서는 폭주하는 부하를 분산하기 위해 DNS 라운드 로빈같은 로드 밸런싱 기법을 사용한다. 서버가 두 대 이상으로 로드 밸런싱이 되면 클라이언트가 이전에 접속했던 서버에 다시 접속
dar0m.tistory.com
'이론 공부 내용 정리' 카테고리의 다른 글
| [CS 스터디] 프로세스 동기화 (0) | 2022.11.07 |
|---|---|
| [CS스터디] 스케줄러 (0) | 2022.11.07 |
| [CS스터디] 멀티 스레드 (0) | 2022.10.30 |
| [CS 스터디] 프로세스와 스레드 차이 (0) | 2022.10.30 |
| c# 단위테스트 진행하기(xUnit) (0) | 2022.07.28 |