2020. 3. 8. 22:04ㆍComputer Science/네트워크
로드밸런싱
부하분산 또는 로드 밸런싱(load balancing)은 컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 의미.
로드밸런서 종류
L2(Data Link Layer)
- Mac Address Load Balancing
- 예시 : Mac > 80-00-20-30-1C-47
- 장점 : 구조가 간단, 신뢰성이 높다, 가격이 저렴
- 단점 : Broadcast 패킷에 의해 성능저하 발생, 라우팅 등 상위 레이어 프로토콜 기반 스위칭 불가
L3(Network Layer)
- IP Address Load Balancing
- 예시 : IP > 213.12.32.123
- 장점 : Broadcast 트래픽츠로 전체 성능 저하 방지, 트레픽 체크
- 단점 : 특정 프로토콜을 이용해야 스위칭 가능
L4(Transport Layer)
- Transport Layer(IP+Port) Load Balancing
- 예시 : IP+Port > 213.12.32.123:80
- 주로 Round Robin 방식 사용
- 장점 : Port기반 스위칭 지원, VIP를 이용하여 여러대를 한대로 묶어 부하분산
L7(Application Layer)
- Application Layer(사용자 Request) Load Balancing
- 예시 : IP+Port+패킷내용 > 213.12.32.123:80 + GET/img/aaa.jpg
Architecture
로드밸런서 알고리즘 종류
○ Round Robin(순차방식)
- 요청을 순서대로 각 서버에 균등하게 분배하는 방식
- 서버 커넥션 수나 응답시간에 상관없이 모든 서버를 동일하게 처리
- 다른 알고리즘에 비해서 가장 빠르다
○ Least Connection(최소접속방식)
- 오픈 커넥션이 가장 적은 서버로 사용자 요구를 연결하는 방식
- 균등한 트래픽을 유지하기 위해 처리 속도가 빠른 서버가 더 많은 접속을 받게 됨
- 서버들의 성능이 비슷하게 구성되었을 때 효과적인 트래픽 분산이 가능
○ Weighted Least Connections(가중치 최소접속방식)
- 최소 접속 알고리즘에 서버의 성능 가중치를 추가한 것
- 요구가 동일한 경우 가중치가 높은 서버에서 더 많은 요구를 받게 설계
○ Fastest Response Time(응답시간방식)
- 가장 빨리 응답하는 서버에게 이용자의 요구를 전달 하는 방식
- 응답시간은 각 서버가 패킷 형태의 요구를 송수신하는데 걸리는 시간을 측정
○ Adaptive(최소대기방식)
- Open 또는 Pending Connection을 적게 가지고 있는 서버로 네트워크 커넥션 방향 지정
- Pending Connection은 Full TCP Handshake를 완성하지 않은 것으로 초당 클라이언트 Thread수가 증가할 때 더욱 잘 수행된다.
○ Fixed(고정 방식)
- 어떤 서버가 Connection 요청을 받는지를 결정하기 위해 각 유입요청의 소스 IP 주소를 이용
- 여러종류의 주소로부터 많은 양의 요구가 있을 경우 잘 작동
- 동일한 게이트웨이를 통해 들어오는 많은 요구보다 여러 종류의 혼합된 소스 IP 주소의 요구일 경우 더 잘 수행
※ 아직 많이 부족한 주니어 개발자 입니다. 잘못된 정보에 대한 지적 언제든지 환영합니다.
Reference
- https://weicomes.tistory.com/7
- https://nesoy.github.io/articles/2018-06/Load-Balancer
'Computer Science > 네트워크' 카테고리의 다른 글
[NetWork] Cookie (0) | 2021.01.24 |
---|---|
[Network] Router, Routing ? (0) | 2021.01.10 |
[Network] HTTP - 헤더 (0) | 2020.09.19 |
[NetWork] imap? POP3? (0) | 2020.06.03 |
TCP UDP 란? (0) | 2020.04.05 |