[Study] Load Balancer

조혜인·2022년 8월 20일
0
post-thumbnail

  뮤지컬, 콘서트 등과 같이 동시간 대에 수많은 사람들이 티켓팅을 위하여 홈페이지 들어갔다가 종종 서비스가 마비되는 것을 목격했을 것이다. 이럴 때마다 우리는 눙물을 머금고 "어! 서버 터졌다!!" 라고 외쳤을 것이다. 바로 복구가 되면 좋지만 언제쯤 복구가 될 지 몰라 발만 동동 구르는 상황은 누구나 겪어봤을 것이다.(세상에서 가장 어려운게 티켓팅..🥲)

  한 서비스에 수천명, 수천만명이 동시에 몰리면 트래픽이 매우 증가하며 서버 컴퓨터에는 부하가 높아진다. 그렇게 버티다 버티다 결국 서버 컴퓨터가 해결할 수 있는 트래픽의 한계치를 넘어서면 서버 컴퓨터가 멈추게 된다. 이것이 바로 우리가 흔히 말하는 서버 터졌다, 바로 서버 장애이다.


📌 서버 복구 해결 방법 2가지

  • Scale-up : 더욱 빠른 수행을 위하여 서버 컴퓨터의 스펙 즉, 하드웨어의 성능을 높인다.
  • Scale-out : 동일한 서버 컴퓨터를 여러 대 두어 수행해야 하는 업무를 분산시켜준다.

  Scale-up을 진행하려면 해당 서버 컴퓨터를 정지시켜야 하는데, 제공되고 있는 서비스를 중지시킬 수는 없으므로 보통 큰 규모의 프로젝트에서는 Scale-out 방식을 사용하는 것 같다. 큰 프로젝트에서는 예를 들어 서울 지역에 모든 서버 컴퓨터를 놓게 되었다가 정전이나 지진과 같은 천재지변을 만났을 경우를 대비하여 멀리 떨어진 부산 지역에 서버 컴퓨터를 몇대 놓는 방식으로 진행된다.

Scale-out은 Sclae-up처럼 하드웨어를 향상하는 비용보다 서버 한 대를 구입하여 추가하는 비용이 더 적다. 또한 서버가 여러 대이기 때문에 무중단 서비스를 제공할 수 있다.


📌 Load Balancer

  • Scale-out방식으로 여러 대의 서버에게 균등하게 트래픽을 분산시켜주는 역할
  • 하나의 서비스에 발생하는 트래픽이 많아질 때 여러 대의 서버가 분산처리하여 서버의 로드율 증가, 부하량, 속도 저하 등을 고려하여 적절히 분산처리하여 해결해주는 서비스이다.

Load Balancer의 주요 기능

  • NAT(Network Address Translation)
    • 사설 IP주소를 공인 IP주소로 바꾸는데 사용하는 통신망의 주소 변조기이다.
  • Tunneling
    • 인터넷 상에서 눈에 보이지 않는 통로를 만들어 통신할 수 있게끔 해준다.
    • 데이터를 캡슐화하여 연결된 상호 간에만 캡슐화된 패킷을 구별해 해제할 수 있다.
  • DSR(Dynamic Source Routing Protocol)
    • Load Balancer사용 시 서버에서 클라이언트로 되돌아가는 경우 목적지의 주소를 스위치 IP주소가 아닌 클라이언트 IP주소로 전달해서 네트워크 스위치를 거치지 않고 바로 클라이언트로 찾아가는 것이다.
profile
코딩은 역시 재밌군

0개의 댓글