코드 그라데이션

부하 분산 본문

백엔드 면접

부하 분산

완벽한 장면 2024. 4. 7. 17:06

부하 분산 시 가장 많이 쓰는 게 L4 Switch

- H/W 적으로 분산

웹서버들은 온프레미스 환경에서 직접 서비스를 한다고 하면  그림에 있는 부분에 L4 스위치를 달아서 부하 분산을 하게 만드는 방법이 있다.

이건 좋은 성능의 네트워크 장비가 필요하긴 하다.

 

문제가 있는데, 4명의 사용자가 있는데, 나는 현재 KT 네트워크를 사용한다고 가정하자.

그런데 3번, 4번 사용자는 동일하게 KT를 쓰지만, 1, 2번이 SK와 LG를 사용중이라면?

같은  KT  네트워크를 사용하는 사용자들이 훨씬 유리하다.

그럼 1, 2번이거나 아예 해외에서 온다고 할 때는?

전송단에서 아무리 빠르게 하드웨어를 갖추고 분산을 한다고 하더라도 1, 2번이나 해외로 날아가는 데이터 전송 속도는 상대적으로 떨어질 수밖에 없다.

 

그래서 이걸 해결하는 게 GSLB(Global Server Load Balancing)

GSLB

  • DNS  체계를 활용하는 구조
  • 각 서버들의 콘텐츠는 CDN을 활용해 동기화 하는 것이 대부분이다.
  • 부하 상태, Health check 결과, 클라이언트의 지리적 위치 등을 고려한다.

 

 

이렇게 서버를 여러 군데에 두고

각자 어떤 클라이언트마다 자기가 속한 영역이나 위치나  ISP나 이런 걸 따져가지고 가장 가까이 있는 곳에서 영상을 받게 해주면 영상이 끊어진다거나 장애가 일어날 가능성이 현저히 감소한다.

 

이런 식으로 DNS를 활용해서 처리를 하게 되는데, 문제는 뭐냐면...

 

DNS마다 응답을 조금씩 다르게 해줘야 하겠다.

무엇보다 중요한 것은 어떤 영상의 원본이 있다면 그 원본이 동시다발적으로 여러 서버에 다 클론이 되어 가야 한다.

그래서 영상의 원본을 어떤 사이트에 로드 하면(클론들)

이런 클론들로 자동 배포해주는 서비스가 있는데, 그게 CDN(Content Delivery NetWork) 서비스이다.

덕분에 내가 할 일이 확 줄어들게 된다.

 

정리하자면,

부하 분산을 어떻게 할 것이냐?

1) L4 스위치 활용(자체 서비스를 구현해야 한다면)

2) 클라우드 시스템 활용 + CDN 서비ㅅ

 

728x90

'백엔드 면접' 카테고리의 다른 글

망 사용료 이슈  (1) 2024.04.08
CSRF, Drive-by Download  (0) 2024.04.07
서비스 기본 구조와 필수 고려사항  (0) 2024.04.06
XSS와 CSRF 공격 예방  (0) 2024.04.05
온프레미스 환경에서 클라우드로 전환  (0) 2024.04.04
Comments