L4 (Transport Layer) 부하분산
=> 네트워크 트래픽을 전송 계층에서 분산 시키는 방법
IP 해시
=> 클라이언트의 소스 IP 주소(+ port 도 될 수 있음)에 따라 트래픽을 특정 서버에 할당한다.
=> 세션 연결 유지 목적
=> IP 주소가 변경되면 서버에 할당된 부하분산이 변경될 수 있다.
=> 동일한 사용자에 대해 동일한 서버로 연결됨
라운드 로빈 (Round Robin)
=> 모든 서버에 동일한 순서로 트래픽을 분산 시킴
=> 간단하고 구현이 쉽다.
=> 서버간의 성능이 비슷한 경우에 사용됨
=> 5대의 서버가 있다면 5부터 1 다시 1부터 5 이러한 방식으로 분산됨
=> 경로보장 x
가중 라운드 로빈 (Weighted Round Robin)
=> 서버마다 가중치를 지정하여 트래픽을 분산
=> 만약 a 서버에 5, b 서버에 3 으로 할당되어 있다면 정해진 수에 맞게 분배됨
=> 가중치 설정이 필요하며, 서버의 부하 상태를 동적으로 반영하지 않음
최소 연결 (Least Connections)
=> 가장 적은 연결을 가진 서버에 트래픽 분산
=> 서버 상태를 고려하여 효율적인 분산 가능
=> 연결당 부하가 다를 수 있음
=> 약간의 메모리 자원 소모
L4 부하분산과 L7 부하분산의 차이점
L4
=> IP주소, 포트번호, 연결 상태 등과 같은 전송 계층 정보를 기반으로 트래픽 분산
=> 서버 간 부하를 균형있게 분산
=> 트래픽 분산에 대해 적은 오버헤드가 발생한다 (L4에서 작동하므로)
L7
=> 사용자와 직접 상호작용 함
=> 특정 URL 패턴, 쿠키 값, HTTP 헤더 등을 기준으로 트래픽을 분산시킬 수 있음
=> 응용 계층까지 분석하고 처리하기 때문에 상대적으로 더 많은 계산과 처리가 필요하므로 더 많은 오버헤드가 발생함
'WEB WAS > 미들웨어' 카테고리의 다른 글
MPM (Multi-Processing Module) 이란? (1) | 2023.06.04 |
---|---|
GSLB 란? (Global Server Load Balancing) (0) | 2023.06.04 |
GC (Garbage Collection, G1GC 란?)란? - Heap Memory (1) | 2023.06.04 |
JDBC 란? (0) | 2023.06.04 |
아파치, 톰캣 연결법 (3가지) (0) | 2023.06.04 |