caffeine-library / system-design-interview

🌱 가상 면접 사례로 배우는 대규모 시스템 설계 기초를 읽는 스터디
4 stars 0 forks source link

[question] Load Balancer의 기능 #9

Closed JasonYoo1995 closed 2 years ago

JasonYoo1995 commented 2 years ago

질문

로드밸런서의 기능과 종류, 알고리즘에 대해 더 조사해보기

연관 이슈

8


@caffeine-library/readers-system-design-interview

ngwoon commented 2 years ago

OSI 7계층 중 어떤 계층에서 동작하는 로드밸런서인지에 따라 구분한다.

L1

Physical Layer (1계층) 에서 동작하는 로드밸런서.

더미허브 라고 부른다.

데이터를 수신하면, 자신과 연결된 모든 노드에 broadcasting한다.

따라서 연결된 장치가 많을수록 대역폭이 떨어진다는 단점이 있다.

L2

Data Link Layer (2계층) 에서 동작하는 로드밸런서.

L2 스위치 허브 혹은 스위치 라고 부른다.

ARP Request를 활용해 포트 - 연결된 노드의 MAC 주소 쌍을 저장하는 테이블을 갖고 있다.

따라서, 연결된 노드의 개수에 상관없이 각 연결에 대한 대역폭이 독립적이다.

L3

Network Layer (3계층) 에서 동작하는 로드밸런서.

L3 스위치 혹은 라우터 라고 부른다.

(엄밀히 말하면 쓰임새가 조금 다르지만, 너무 디테일한 내용인 것 같다. 이 글에서는 라우터 = L3 로드밸런서 라고 여기겠다. 자세한 내용은 여기)

일반 가정집이 속한 LAN의 게이트웨이가 L3 로드밸런서이다.

L3 로드밸런서는 IP 주소 정보를 알 수 있기 때문에, 이를 활용한 트래픽 제어 & 라우팅 등이 가능하다.

L4

Transport Layer (4계층) 에서 동작하는 로드밸런서.

도착지의 IP + 포트번호 정보까지 알 수 있기 때문에, 프로그램(프로세스) 단위의 부하 로드밸런싱이 가능하다.

L4부터는 하드웨어 뿐만 아니라 소프트웨어로 만들어지는 경우도 많다.

보통 L4 로드밸런서의 VIP로 클라이언트들이 접근하고, 각 요청에 따라 적절한 서버로 로드밸런싱한다.

L7

Application, Presentation, Session Layer (7,6,5 계층) 에서 동작하는 로드밸런서.

데이터 페이로드까지 확인해 볼 수 있기 때문에, HTTP, FTP, SMTP 등의 프로토콜에 따른 로드밸런싱까지 가능하며, 데이터 악성코드 검사 등의 고급 기능 또한 가능하다. (네트워크 보안 분야에서 활용)

소프트웨어로 만들어지는 경우가 많다.

참고

L2 ~ L7

https://nhj12311.tistory.com/75

L4

https://aws-hyoh.tistory.com/entry/L4-Switch-쉽게-이해하기

JasonYoo1995 commented 2 years ago

로드밸런서의 종류

L1 스위치 (허브, 더미 허브)

L2 로드밸런서 (L2 스위치)

L3 로드밸런서 (L3 스위치)

L4 로드밸런서 (L4 스위치)

L7 로드밸런서 (L7 스위치)

다양한 로드밸런싱 알고리즘