부하 분산 시스템 작동원리

EBAB!·2023년 7월 8일
0

Network

목록 보기
15/17

L4 부하분산과 무정지 시스템

  • 그림에서의 Web server 라우터는 로드 밸런서이다.
  • 단순히 여러 웹서버에 돌아가면서 트래픽을 할당하는 방식도 로드 밸런서의 부하 분산 시스템이긴 하지만 너무 단순한 구조.
  • 따라서 Health Check를 해주는 Manager가 모니터링을 하며 여러 웹서버의 상태를 보며 트래픽을 할당하는 것이 기본적.
  • 장애 문제가 의심되거나 가능성이 생기는 경우(CPU 부하가 80%이상 등) 제외하도록 만들어야 한다.
  • 로드 밸런서의 역할이 중요하므로 로드 밸런서를 모니터링 하는 백업 장치가 존재.

웹 서버가 모두 VM이라면...? 차라리 Docker...?
1. 웹 서버에 장애가 날 시 서버의 장애를 해결하기보다, VM이라면 이미지를 통해 VM을 실행해주면 될 것이다.
2. 그렇다면 물리적인 웹 서버보다 VM을 두고 해결하는게 좋겠다.
3. 그럴 바에 컨테이너로 실행해보는건 어떨까? -> Docker 급부상
4. 그럼 컨테이너를 관리하는 시스템도 중요하겠다. -> Kubernates 등장

대규모 부하분산, GSLB

GSLB

  • Global Server Load Balancing
  • DNS 체계를 활용하는 구조
  • 각 서버들의 콘텐츠는 CDN(Content Delevery Network)을 활용해 동기화 하는 것이 대부분
  • 부하 상태, Health check 결과, 클라이언트 지리적 위치 등을 고려
    • 글로벌하니까 지리적 위치가 중요해짐

그림의 경우,
1. www.abc.com에 통신할 때, 호스트의 위치에 따라 DNS에서 가까운 abc.com 웹 서버의 주소를 알려준다.
2. 받은 주소를 다시 DNS에게 묻는다.
3. DNS에서 해당 IP를 제공한다.

profile
공부!

0개의 댓글