기술면접 6탄 loadbalance

양진영·2022년 4월 16일
0

로드밸런스는 기본적으로 그냥 컴퓨터(서버)이다. 하지만 특정한 목적을 가지고 운용되는 컴퓨터이다. 퍼블릭 클라우드가 제공하는 서비스의 가장 중요하고 핵심적인 서비스는 IT리소스의 임대일 것이다. 사용자는 서버 임대시 직접 서버를 증축 시키지 않는다.

퍼블릭 클라우드 제공업체가 제공 하는 자동화 서비스중 auto scaling이라고 있다. auto scaling은 임대하는 서버의 트래픽이 지정한 정도를 넘어서는 요청을 받는다면 자동으로 증축하는 기능이다. 또한 트래픽이 적어진다면 알아서 서버가 줄어든다. 이러한 기능을 가능하게 하는건 로드밸런스가 있기 떄문이다.

로드밸런스는 하나의 컴퓨터로 트래픽을 서버로 분산하는 역할을 한다. 이제부터는 서버를 인스턴스라고 칭하겠다. 로드밸런스는 인스턴스를 타겟으로 잡고 타겟이 된 인스턴스들의 cpu사용량이 설정한 양을 넘기면 auto scaling이 서버를 증축할수 있도록 알려주는 역할을 한다.

로드밸런스의 동작 과정은 DNS와 연결되어 클라이언트가 DNS로 요청을 보내면 DNS는 자신이 받은 트래픽 로드를 로드밸런스에게 보낸다. 이에 따라 로드밸런스는 인스턴스 그룹에 존재하는 각 인스턴스들에게 트래픽을 분산하게 된다. 또한 로드밸런스는 각각 자신과 연결된 인스턴스들에 대하여 일정한 주기로 생존신고를 확인하는데 이것을 헬스체크라고 하고 만약 인스턴스가 다운되었다면 관리자에게 알리기도 한다.

로드밸런스는 서버의 트래픽을 고르게 분산하므로서 서버의 성능이 주어진 환경에서 최적화가 가능하게 된다.

profile
왜? 라는 질문을 중요시하는 서버 개발자입니다

0개의 댓글