로드벨런서, 로드벨런싱
정확히 무슨 개념인지 일단 알고가야겠죠??
로드벨렌서란.
서버에 부하가 발생하지 않게 트래픽을 분산 해주는 장치 혹은 기술이라고 부릅니다.
클라이언트와 서버풀 사이에 위치하며, 특정 서버에 트래픽이 몰려서 서버가 부하되는걸 방지시키는 역할을 합니다.
항상 최적화된 서버의 상태를 유지할 수 있게 도움을 주는 기술입니다 :)
로드밸런싱은요?
전체적인 개념은 동일합니다.
여러 대의 서버를 두고 서비스를 제공하는 분산 처리 시스템에서 필요한 기술이라고 합니다.
그렇다면 언제 쓰나요?
서비스 배포후 초기 단계에서는 한대의 서버로도 모든 트래픽을 처리 할 수 있을테지만,
추후에 사업의 규모가 확장되면서, 클라이언트의 수가 늘어나게 되면 기존 서버 한대만으로는
모든 요청을 처리하기엔 큰 과부하가 걸립니다. 그렇기에 추후에 트래픽이 증가함에 따라 대처할 수 있는
방법중 하나가 "로드밸런싱" 입니다.
그리고 대처 방법은 크게 "두 가지" 로 나뉘게 됩니다.
Scale-up & Scale-out
Scale-up 기법은 생각보다 매우 단순한 방식입니다.
서버 자체의 성능을 개선시키고 확장시킨다는 개념인데요 !
쉽게 생각해보면 집에서 배그가 안돌아간다고 컴퓨터의 그래픽카드와 CPU를 업그레이드 시키듯이,
서버 컴퓨터의 스팩을 업 시키는거라고 생각하시면 됩니다.
Scale-out 기법은 반대로 사양이 고만고만한 아이들을 여러대 증설하여,
로드밸런싱이라는 기법을 통해 여러대의 서버에 트래픽을 균등하게 보내는 방식입니다 !
그렇다면 로드밸런싱은 어떠한 알고리즘이 있을까요?
1. Round Robin Method (라운드 로빈 방식)
서버에 들어온 요청을 순서대로 여러대의 서버에 각각 배정하는 방식입니다.
여러대의 서버가 동일한 스펙을 가지고 있고, 서버와의 연결이 오래 지속되지 않는 경우에 효율적이라고 합니다.
2. Weighted Round Robin Method (가중 라운드 로빈 방식)
말 그대로, 서버의 스팩이 상이할때 가중치라는걸 매기고, 가중치가 높은 서버에 더 많은 요청을
처리하게 만드는 방식입니다.
3. Least Connection Method (최소 연결 방식)
요청이 들어온 시점을 기준으로 가장 트래픽이 적은 서버에 우선적으로 트래픽을 부여합니다.
서버에 분배된 트래픽들이 일정하지 않은 경우에 적합한 방식입니다.
4. Least Response Time Method (최소 리스폰타임)
가장 적은 시간의 연결 상태를 가지고 있으면서 가장 짧은 응답시간을 보이는 서버에
우선적으로 트래픽을 배분하는 방식입니다.
5. IP 해시 방식 (IP Hash Method)
사용자의 IP 주소를 특정 서버로 매핑하여 요청을 처리하는 방식입니다.
항상 동일한 서버로 연결이 된다는 특징이 있습니다.
L4, L7 로드밸런서 ?
로드밸런서는 크게 L4와 L7이 있습니다.
이 외에도 다양한 로드밸런서가 존재하지만, 제일 많이 사용되는것은 L4와 L7 입니다.
L4 이후부터 port에 따른 부하 분산 처리가 가능하기 때문에 대부분 L4이상의 로드밸런서를 사용한다고 생각하시면 되겠습니다 :)
두개를 비교할때 제일 큰 차이점은
L7은 당연히 port에 따른 처리도 가능하면서, URL, Payload, Http header, Cookie와 같은 내용을 기준으로
부하 분산이 가능하다는 장점이 있습니다.
L4는 단순히 port에 따른 부하 분산만이 가능하다면, L7은 더 다양한 기준으로 분산합니다.
EX). L7은 결제서버, 회원가입 서버와 같이 세부적인 사항을 두고 담당하는 작은 단위로 여러개의 서비스를 운영하고
요청을 각각의 서버에 분산시킬수 있다는 장점이 있습니다.
하지만 L7은 그만큼 데이터를 분석하고 처리가 가능하기 때문에, 자원소모가 크다는 단점이 있습니다.
그래도 악의적이거나 비정상적인 콘텐츠를 사전에 감지해 보안 지점을 구축할 수 있다는 장점도 존재합니다 !
'Network' 카테고리의 다른 글
웹소켓 Web Socket 이란?... (0) | 2023.01.20 |
---|---|
Network AND HTTP 프로토콜 (0) | 2023.01.17 |
쿠키, 세션 (Cookie, Session) 는 뭐지? 어디서 많이 들어봤는ㄷ..ㅔ (0) | 2023.01.16 |