[Network] DNS Round Robin 방식의 문제점

yongkini ·2021년 9월 24일
1

Network

목록 보기
3/5

DNS(Domain Name System)에서 Round Robin 방식의 문제점 및 해결책

  • DNS 에서도 부하분산을 위해서 Round Robin 방식으로 IP주소를 다르게 알려준다. 즉, 특정 서버에 부하가 많으면 다른 IP주소를 알려줘 다른 서버로 접근하도록 유도하는 것이다.
  • 하지만, 이러한 Round Robin 방식으로 할 경우 DNS에서 제공한 정보를 캐싱할 경우(웹 브라우저 및 모바일) 다른 IP주소를 제공해도 캐싱한 주소로 연결되기 때문에 부하분산이 제대로 이루어지지 않는 문제가 있다.
  • 또한, 특정 서버가 다운되더라도 Round Robin 방식으로는 그러한 것을 감지할 수 없기 때문에 유저에게 다운된 서버의 주소를 제공하는 경우가 발생할 수 있다.

해결책

  • 가중치 편성 방식(Weighted Round Robin) : 각각의 웹서버에 가중치를 부여해서 서버의 규모가 큰 곳에 부하를 분산시키도록 하는 방법이다. 즉, 규모가 큰 곳에 가중치를 두면 그곳의 IP주소를 DNS가 주로 제공할 것이기에 부하를 분산시킬 수 있다.

  • 다중화 구성 방식 : AP 서버에 VIP(Virtual IP)를 부여한 다음에 VIP에 문제가 생기면 정상 AP 서버로 인계하는 방식이다. 즉 DNS Server Table 에 실시간으로 AP 서버의 상태를 확인할 수 있는 칼럼 및 함수를 추가하여 요청될 경우 서버 상태를 확인하여 우회루트를 제공하거나 에러를 전송하는 방식을 말합니다.

  • Round Robin을 사용하면 로드밸런서를 쓰지 않아도 되지만, 단점을 보완하기 위해 로드 밸런서를 사용해서 해결할 수 있다. 최소 연결 방식 (Least connection) 을 사용하는 것이다. 이는 접속 클라이언트 수가 가장 적은 서버를 선택하는 방식으로, 로드밸런서에서 실시간으로 connection 수를 관리하거나 각 서버에서 주기적으로 알려주는 것이 필요하다.

** Load Balancing ?
: 하나의 인터넷 서비스가 발생하는 트래픽이 많을 때 여러 대의 서버가 분산처리하여 서버의 로드율 증가, 부하량, 속도저하 등을 고려하여 적절히 분산처리하여 해결해주는 서비스입니다.
@ 출처 : 블로그 링크

profile
완벽함 보다는 최선의 결과를 위해 끊임없이 노력하는 개발자

0개의 댓글