안녕하세요, 이번 편에서는 로드밸런서에 대해서 알아보도록 하겠습니다.
웹을 통해 서비스를 개발하거나 운영하더라도 트래픽이 몰리게 되면
운영의 지속적인 서비스가 힘들어질 수 있습니다.
이렇게 되면 보안 취약점 역시도 드러나기 쉽습니다.
흔히 서비스가 지속되는 정도를 가용성이라고 하는데,
트래픽이 이렇게 몰리는 것을 막아 가용성을 보존하고,
트래픽 병목 현상을 예측하고 막을 수 있는 것이 로드밸런서가 됩니다.
최근 분산 처리 시스템에서도 필수 요소입니다.
사용할 수 얻을 수 있는 이점으로는,
실행 속도를 높일 수 있다, 다운타임 최소화와 서비스에 대한 병목현상 예측, 비용 절감
(네트워크의 이중구성을 최소화할 수 있습니다.) 등 입니다
로드 밸런서를 설계할 때 고려해야 할 사항은 다음과 같습니다.
1. 작업의 본질(업무 크기를 고려하여 실행시간이 얼마나 걸리는지,
데이터 의존도에 따른 작업 순서 및 실행 시간이 얼마나 걸리는지,
트리 구조 계산방식 등을 통한 작업 분담),
2. 알고리즘의 복잡도
3. 하드웨어 아키텍처
4. 에러 허용 범위
아키텍트는 위와 같은 내용들을 파악하여 로드 밸런서를 어떻게 둘 것인지,
어떤 알고리즘을 사용해야 할지를 결정해야 합니다.
로드 밸런싱 알고리즘
로드 밸런싱 알고리즘은
1. 라운드 로빈(요청이 들어온 대로 순차적인 처리),
2. 최소 접근법(최소 라우팅 서버를 우선적으로 배치),
3. Min missis(특정 서버에 장애가 생기면 ip 해시를 재할당 하는 방식),
4. Hashing(특정 클라이언트가 접속하면 특정 서버로 라우팅 해주는 방식)
등이 있습니다.
서버 능력을 고려하여 라운드 로빈과 최소 접근법은
가중치를 적용한 라운드 로빈,
가중치를 적용한 최소 접근법 등이 있습니다.
로드 밸런서는 크게 2가지로 나뉠 수 있습니다.
L4 Load Balancer / L7 Load Balancer입니다.
기본적으로, L4 Load Balancer는 IP 정보와 Port 정보를 참조해서 라우팅 합니다.
다음으로는 L7 Load Balancer입니다.
IP 정보, Port 정보에 페이로드 패턴을 적용합니다.
페이로드란 http의 헤더 같은 정보를 일컫는데 이를 통해서
목적지가 어딘지 목적지가 /라면 index page를 뿌려줄 것이고,
/blog로 되어있으면 blog로 세팅되어 있는 페이지를 보여주게 됩니다.
'IT > 네트워크' 카테고리의 다른 글
LDAP이란? (0) | 2020.06.04 |
---|---|
다이렉트 피어링, 캐리어 피어링, IPSec VPN, Dedicated Interconnect (0) | 2020.05.31 |
쿠키란 무엇인가? (2) | 2020.05.04 |