2020. 8. 27. 21:05 Network
load balancing
로드 밸런싱이란 기본적으로 부하를 분산하는 것을 말한다.
로드밸런서의 종류는 크게 두가지로 나뉜다.
. 운영체제 로드 밸런서
-> 물리적인 프로세서간에 작업을 스케줄링을 통해서 분산 시킨다.
-> ex : 멀티코어 프로세서
. 네트워크 로드 밸런서
-> 백엔드에서 네트워크 작업을 스케줄링을 통해 분산 시킨다.
네트워크 로드 밸런서
. L2
-> Mac 주소를 바탕으로 로드 밸런싱하는 방법
. L3
-> IP 주소를 바탕으로 로드 밸런싱하는 방법
. L4
-> 전송계층에서 로드 밸런싱하는 방법
-> port 기반으로 스위칭을 지원하며 주로 라운드 로빈 방식을 사용한다.
. L7
-> 응용 계층에서 로드밸런싱을 하는 방법
load balancing 알고리즘
. round robin
. least connection
. weighted least connections
. faster response time
. adaptive
. fiexed, hashing 등등 여러 알고리즘이 존재.
Round robin (순차 방식)
. 요청의 순서대로 각 서버에 균등하게 분배하는 방식
. 서버 connection 수나 응답시간에 상관없이 모든 서버를 동일하게 처리한다.
. 타 알고리즘에 비해 단순하여 속도가 가장 빠르다.
Least connecntion (최소 접속 방식)
. 서버에 연결되어 있는 Connection 개수만 갖고 단순 비교하여 가장 적은 곳에 연결해준다.
Weighted Least Connections (가중치 최소 접속 방식)
. 각 서버별 가중치를 정하고 가중치 대비 Connection 이 가장 적은곳에 연결해준다.
Fastest Response Time (응답 우선 방식)
. 가장 빨리 응답하는 서버에 연결해준다.
Adaptive (최소 대기 방식)
. Open 또는 Pending 상태인 Connection을 적게 지닌 서버로 연결시켜준다.
https://nesoy.github.io/articles/2018-06/Load-Balancer
ps : 위 두 출처에 다른 포스팅도 유용하니 추후에 공부 더 할 것.
'Network' 카테고리의 다른 글
HTTP Protocol (0) | 2021.06.20 |
---|---|
OSI 7계층과 TCP/IP 4 계층 (0) | 2021.06.20 |
OSI 7계층와 TCP/IP 4 계층 (0) | 2020.08.27 |
Thrift에 대해서 [C# 한정] (0) | 2020.01.10 |
RabbitMQ에 대해서 (0) | 2019.07.21 |