-
(7) 로드 밸런싱 Load balancingCS 지식/○ Network 2021. 8. 4. 16:56
1. 로드 밸런싱이란?
1-1) 정의
둘 이상의 CPU/저장장치/주메모리 등의 자원을 분배하여 작업을 나누는 것
1-2) 어디서 동작하는가?
(a) 배경
근래 웹사이트 접속이 급격히 늘며
Scale-up / Scale-out 의 두가지 대응방식 중, Scale-out이 더 장점이 있는 서버 업그레이드 방식인데,
이때, 여러 서버에 균등하게 트래픽을 분산시켜주는 것이 로드 밸런싱의 역할
Scale-Out과 함께 동작하여 매우 효율적인 방식
2. 로드 밸런싱 서버 선택 방식
2-1) 방식
- 라운드 로빈
- CPU 스케줄링의 라운드 로빈 방식을 활용
- 내글 참조 : https://korshika.tistory.com/145
1) 선점 알고리즘
2) 라운드로빈(Round-Robin)스케줄링: 각 프로세스는 같은 크기의 CPU 시간을 할당 받고 선입선출에 의해 행된다. 할당시간이 너무 크면 선입선출과 다를 바가 없어지고, 너무 작으면 오버헤드가 너무 커진다.
- Least Connections
- 연결 개수가 가장 적은 서버 선택(트래픽으로 인해 Session이 길어지는 경우 권장) - Source : 사용자 IP를 hash를 사용하여 특정 사용자가 같은 서버로 연결되는 것을 보장
2-2) 로드 밸런서 장애 대비
서버를 분배하는 로드 밸런서 자체에도 문제가 생길 수 있으므로 이중화하여 대비
참조
https://gyoogle.dev/blog/computer-science/network/Load%20Balancing.html
반응형'CS 지식 > ○ Network' 카테고리의 다른 글
(6) HTTP / HTTPS (0) 2021.07.27 (5) 대칭키 & 공개키(비대칭키) & SSL (0) 2021.07.27 (4) UDP & DNS (0) 2021.07.25 (3) TCP/IP (흐름제어 & 혼잡제어) (0) 2021.07.23 (2) 3 way handshake - 연결 (0) 2021.07.22 - 라운드 로빈