DNS와 Round Robin

0

취업 및 면접준비

목록 보기
4/20

1. DNS?

참고 링크

  • Domain Name System
  • 사람이 읽을 수 있는 도메인 이름을 머신이 읽을 수 있는 IP 주소로 변환시켜준다.
  • 과거 : 컴퓨터마다 host파일을 가지고 있어 모든 컴퓨터의 hostname과 IP address를 저장 관리했지만 양이 방대해지면서 다른 방식이 필요했다.
  • 현재 : 분산된 데이터 방식을 이용한다.
    각 조직이 도메인 정보 관리하는 DNS 서버를 자체적으로 운영, 이런 서버들이 상호 연동된 Domain Name Space가 구성되어 있다.(계층적 구조)
  • 원리 :

네임서버 : 숫자로 표현 된 IP주소로 문자열 도메인이름을 바꿔주는 트리구조 정보, 바꿔주는걸 네임서비스

리졸버 : 요청을 네임서버로 전달하고 네임서버로부터 정보를 받아 다시 제공해주는 기능. 전달자. 수많은 네임 서버에 요청 전달하고 받고 함.(복잡한 기능을 한다고 생각)
여기서 네임서버 구조 파악 필요없이 리졸버가 구현된 네임 서버의 IP 주소만 파악된 것을 스터브 리조버(단순화된 구조라 생각하기)

2. Round Robin?

  • 유래 : 한국으로 치면 사발통문
  • 스케줄링의 한 방법, 기회를 차례대로 받기
  • A, B, C의 태스크가 있을 경우 A→B→C→A→B→C→A→...와 같이 전환. 이렇게 평등하게 스케줄이 할당되는 것

그럼 DNS Round Robin?

  • 한 서비스가 여러 서버를 가지고 DNS 서버로 오는 요청을 받아서 운용될 때 교대로 서비스를 실행하는 것.
  • 왜? : 큰 서비스는 한 대의 서버로는 도저히 감당이 안 되니까.
  • 그래서 방식은? : 요청을 DNS가 나눠서 웹서버에 보내준다.

3. 장점?

  • 부하를 막아준다.
  • 서비스에 무리를 주지 않는다.(한 서버가 죽더라도)

4. 단점?

  • 당연히 서버가 늘어나는 그 만큼의 공인 IP가 필요하다.
  • 생각보다 균등하게 분산되지 않을 때가 있다.

예시 :

  • 스마트폰은 캐리어 게이트웨이라고 하는 프록시 서버로 온다.

  • PC도 캐싱 과정에서 균등하게 분산되지 않을 수도 있다.
    물론 DNS 레코드의 TTL 값을 짧게 설정하면 해소 되지만 한계가 있다.(TTL따라 캐시를 해제하는 것이 아니라고 함.)

  • 서버 다운되어서 확인 불가한 DNS 서버는 웹서버 부하, 접속수 등 제어 불가(중간 과정 고장 시 통제 불능), 원인 검출 못 함

즉 부하 관리를 하는 기능의 만능은 아님

5. 단점 해소

참고 및 정리 도움 링크

  • Weighted round robin (WRR)
    각각의 웹 서버에 가중치를 가미해서 분산 비율을 변경한다. 물론 가중치가 큰 서버일수록 빈번하게 선택되므로 처리능력이 높은 서버는 가중치를 높게 설정하는 것이 좋다.

    좋은 성능 서버는 더욱 가중치 높여서 처리 많이 할 수 있게 해줘라.

  • Least connection
    접속 클라이언트 수가 가장 적은 서버를 선택한다. 로드밸런서에서 실시간으로 connection 수를 관리하거나 각 서버에서 주기적으로 알려주는 것이 필요하다.

    접속 수 파악하여 분산시키는 방식

profile
커피 내리고 향 맡는거 좋아해요. 이것 저것 공부합니다.

0개의 댓글