한 걸음씩 기록하며
[Load Balancing]이란 무엇인가 본문
이번 주에 AWS ELB에 대해서 공부하다보니, 연결되어 Load Balancing에 대해서 공부하게 되었다.
공부한 내용을 간략히 정리해본다.
1. Load Balancing(부하 분산)
부하분산 또는 로드 밸런싱은 컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋 이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나는 것을 의미한다. 이로써 가용성 및 응답 시간을 최적화 시킬 수 있다. - 위키백과
- 위의 설명처럼 로드밸런싱은 네트워크에서의 부하 분산을 의미한다.
- 여러가지 부하 분산이 있지만, 본 글에서는 서버 부하 분산에 대해서만 간단히 다루어보려고 한다.
2. Server Load Balancing(서버 부하 분산)
- 서버 부하 분산은 외부의 사용자로부터 들어오는 다수의 요청을 서버들에게 적절히 배분하여 서버들로 하여금 요청을 처리케하는 것을 뜻한다.
- 분산 처리는 부하 분산 Network Switch 혹은 소프트 웨어가 담당해서 수행한다.
- 즉 외부로부터의 요청을 서버가 직접 받는 것이 아닌, Network Switch 혹은 소프트웨어가 받은 후에 이를 서버에 적절히 나누어주는 것이다.
- 이 서버 분산을 담당하는 Network Switch를 L4/L7 Switch(Layer 4)라고 부르며, Cloud에서는 Load Balancer라고 부른다.
3. 서버 부하 분산의 방법
- 서버에게 부하를 고르게 분산하는 다양한 방법이 존재한다. 각 서버는 능력과 상황에 맞추어 적절한 부하 방법을 구현해야한다.
- 이를 보통 Load Balancing Method라고 부른다.
- LB 방식은 아래와 같이 크게 6가지가 있다.
1) Round Robin
- 들어오는 요청을 모든 서버에 균등하게 요청을 분배
2) Weighted Round Robin Scheduling
- 기본적으로 Round Robin방식으로 분배하며 서버의 가중치에 따라 요청
3) Least Connection
- 서버에 연결된 커넥션 개수를 체크하여 커넥션이 가장 적은 서버로 요청을 분배
4) Weighted Least Connections
- 기본적으로 Least Connection방식으로 분배하며 서버 가중치에 따라 요청을 분배
5) Fastest Response Time
- 서버의 응답 시간을 체크하여 가장 빠른 서버로 요청을 분배
6) Source Hash Scheduling
- 사용자의 IP를 해싱한 후 그 결과에 따라 서버로 요청을 분배
- 사용자의 IP는 고정되기 때문에 항상 같은 서버로 연결된다는 보장을 받을 수 있다.
참고 문서
https://server-talk.tistory.com/category/%EB%B6%80%ED%95%98%EB%B6%84%EC%82%B0
'Network & AWS' 카테고리의 다른 글
[AWS RDS]란 무엇인가 (0) | 2022.04.10 |
---|---|
[AWS ELB]란 무엇인가 (0) | 2022.03.28 |
[AWS로 HTTPS 설정] (1) | 2022.03.28 |
[CORS]란 무엇인가 (0) | 2022.02.09 |
[Socket]이란 무엇인가 (0) | 2022.02.04 |
Comments