Load balancing이란?
Load balancing(로드밸런싱)은 컴퓨터 네트워크 기술의 일종으로 중앙처리장치 또는 저장장치와 같은 컴퓨터 자원들에게 부하가 일어나지 않도록 여러 서버에 작업을 분산하는 것을 의미한다.
증가 트래픽에 대처할 수 있는 방법
1.Scale up : 서버자체의 성능을 높이는 것.
2. Scale out: 여러대의 서버를 두는 것.
Load Balacer 종류
L2
- Mac주소를 바탕으로 Load Balancing
L3
- IP주소를 바탕으로 Load Balancing
L4
- Transport Layer(IP와 Port) Level에서 Load Balancing
- TCP, UDP
L7
- Application Layer (사용자 Request) Level에서 Load Balancing
- Http, Https, ftp
Load Balacer 가 서버를 선택하는 방식
Round Robin
- 단순히 round robin으로 분산
- CPU 스케줄링의 round robin 방식 활용
Least Connection
-
연결개수가 가장 적은 서버를 선택.
-
트래픽으로 인해 세션이 길어지는 경우 권장
Source
Load Balancer 장애대비
- Load balancer를 이중화 하여 장애를 대비할 수 있다.
참고자료
- https://gyoogle.dev/blog/computer-science/network/Load%20Balancing.html
- https://cheershennah.tistory.com/176