728x90
DNS Round Robin 정의
- DNS 서버 구성 방식중 한가지, 도메인에 대한 IP요청 쿼리 시 Round Robin 방식으로 IP를 반환하는 방식
- 도메인 레코드 정보를 조회하는 시점에서 트래픽을 분산하는 기법
DNS Round Robin 원리
- 여러대의 웹서버는 각각 공인 IP를 가지고 있음
- 사이트 접속시 도메인 주소를 브라우저 입력하고 DNS는 도메인 정보를 조회하여 여러대의 서버의 IP리스트 중에 라운드 로빈 형태로 랜덤하게 선택하여 사용자에게 전달
- 웹사이트에 접속하는 사용자는 사용자의 요청을 실제로 복수의 웹서버에 나뉘어 접속하게 되어 자연스럽게 분산처리 됨
DNS Round Robin 문제점
- 서버의 수 만큼 공인 IP 주소가 필요하고 부하 분산을 위해 서버의 대수를 늘리기 위해서는 그 만큼의 공인 IP 가 필요함
- 균등하게 분산되지 않으면 모바일 사이트 등에서 문제가 될 수 있는데, 스마트폰의 접속은 캐리어 게이트웨이라고 하는 프록시 서버를 경유하게 되며, 프록시 서버에서는 이름변환 결과가 일정 시간동안 캐싱되므로 같은 프록시 서버를 경유 하는 접속은 항상 같은 서버로 접속됨 또한 PC 용 웹 브라우저도 DNS 질의 결과를 캐싱하기 때문에 균등하게 부하분산 되지 않음 DNS 레코드의 TTL 값을 짧게 설정함으로써 어느 정도 해소가 되지만, TTL 에 따라 캐시를 해제하는 것은 아니므로 반드시 주의가 필요함
- 서버가 다운되도 확인 불가 DNS 서버는 웹 서버의 부하나 접속 수 등의 상황에 따라 질의결과를 제어할 수 없고 웹 서버의 부하가 높아서 응답이 느려지거나 접속수가 꽉 차서 접속을 처리할 수 없는 상황인 지를 전혀 감지할 수가 없기 때문에 어떤 원인으로 다운되더라도 이를 검출하지 못하고 유저들에게 제공하게 됨 이때문에 유저들은 간혹 다운된 서버로 연결이 되기도 함, DNS 라운드 로빈은 어디까지나 부하분산을 위한 방법이지 다중화 방법은 아니므로 다른 S/W 와 조합해서 관리할 필요가 있음
DNS Round Robin 알고리즘
- Weighted Round Robin : 각각의 웹 서버에 가중치를 가미하여 분산 비율을 변경, 가중치가 클 수록 빈번하게 선택되므로, 사양이 좋은 서버를 높은 가중치로 설정하는 것이 좋음
- Least Connection : 접속 클라이언트 수가 가장 적은 서버를 선택하는 방식, 로드밸런서에서 실시간으로 Connection 수를 관리하거나 각서버에서 주기적으로 알려주는 것이 필요
'NETWORK' 카테고리의 다른 글
[NETWORK] TCP NAGLE (0) | 2021.11.14 |
---|---|
[NETWORK] 웹사이트 접속과정 (0) | 2021.11.14 |
[NETWORK] PDU (Protocol Data Unit) (0) | 2021.11.04 |
[NETWORK] Socket.io / WebSocket (0) | 2021.11.03 |
[NETWORK] GET / POST 메서드 비교 (0) | 2021.11.01 |