NETWORK

[NETWORK] DNS ROUND ROBIN

집한구석 2021. 12. 27. 00:10
728x90

DNS Round Robin 정의

  • DNS 서버 구성 방식중 한가지, 도메인에 대한 IP요청 쿼리 시 Round Robin 방식으로 IP를 반환하는 방식
  • 도메인 레코드 정보를 조회하는 시점에서 트래픽을 분산하는 기법

DNS Round Robin 원리

  1. 여러대의 웹서버는 각각 공인 IP를 가지고 있음
  2. 사이트 접속시 도메인 주소를 브라우저 입력하고 DNS는 도메인 정보를 조회하여 여러대의 서버의 IP리스트 중에 라운드 로빈 형태로 랜덤하게 선택하여 사용자에게 전달
  3. 웹사이트에 접속하는 사용자는 사용자의 요청을 실제로 복수의 웹서버에 나뉘어 접속하게 되어 자연스럽게 분산처리 됨

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