로드밸런싱(load balancing)이란?
부하분산이라고도 불리며, 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 의미.
또한 거대한 트래픽의 감당을 줄이기 위한 방법으로 제시됨.
- 보통 트래픽의 서버의 부화가 심할 때는 가장 먼저 하는 일은 DB와 서버를 분리하는 것.
- DB서버의 분리만으로도 서버의 부하를 감당할 수 없음.
가용성 및 응답시간을 최적화 시킬 수 있음.
이 기술은 보통 내부 네트워크를 이용한 병렬처리에서 이용된다.
로드 밸런싱 방법으로는 2가지가 있다.
- 네임(DNS)서버의 도메인을 이용한 DNS 라운드 로빈
- L4를 이용한 로드밸런싱
라운드로빈 DNS(Round Robin DNS)
- 특별한 하드웨어 및 소프트웨어가 필요가 없는 방식이 있다.
- 서버가 A, B, C 3대가 있으면, 첫 번째 요청에는 A연결, 두 번째 요청에는 B연결, 세 번째 요청에는 C를 연결해주면서 무한히 반복 연결해주는 것을 의미.
- 비용적인 부담 절감
- 서버가 이상있는 경우에도 이상이 있는 서버로 부하를 부산
- 1대의 서버의 장애발생시 원인을 찾기 힘듬.
L4를 이용한 로드밸런싱
- Transport Layer(IP+Port) 로드 밸런싱
- 예시 : IP+Port --> 213.12.32.123:80
- TCP, UDP protocol
- 장점 : Port 기반 스위칭 지원, VIP를 이용하여 여러대를 한대로 묶어서 부하분산
- 주로 라운드 로빈 이용
참고
'공부' 카테고리의 다른 글
탐욕법 (greedy algorithms) (0) | 2020.04.12 |
---|---|
[crawling] selenium을 이용할 때 생기는 session not created 오류 해결 (0) | 2020.04.04 |
[python] 모듈과 패키지 (0) | 2020.03.29 |
[선형대수] Norm이란? (L0, L1, L2 Norm) (0) | 2020.03.23 |
[자료구조] 해시(Hash), 해시테이블(Hash table),해싱(hashing) 이란? (0) | 2020.03.13 |