일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- network
- db
- 자바
- BFS
- frontend
- 리트코드
- TypeScript
- java
- 그레이들
- Graph
- CS
- Database
- react
- Javascript
- 프로그래머스
- LeetCode
- Python
- 다이나믹 프로그래밍
- 알고리즘
- VIM
- DFS
- Algorithm
- DP
- Data Structure
- 백준
- git
- 동적 계획법
- 안드로이드
- vscode
- Redux
Archives
- Today
- Total
늘 겸손하게
CS - Network - 로드 밸런싱 (Load Balancing) 본문
로드 밸런싱 (Load Balancing)
둘 이상의 CPU, 저장 장치, 서버와 같은 컴퓨터 자원들에게 작업을 나누는 것

요즘 시대에는 웹 사이트에 접속하는 인원이 급격히 늘어나게 되었고
이 모든 접속 트래픽을 1대의 서버로 감당하기는 어려워졌다.
이에 대한 대응책으로 'Scale-up'과 'Scale-out'이 있다.
- Scale-up : 하드웨어의 성능을 올리는 것
- Scale-out: 여러대의 서버가 나눠서 일하도록 만드는 것
하드웨어 향상 비용은 비싸고, 서버 여러대면 무중단 서비스를 제공하는 환경 구성이 용이하므로 Scale-out이 효과적이다.
이때 여러 서버에게 균등하게 트래픽을 분산시켜주는 것이 바로 로드 밸런싱
로드 밸런서가 서버를 선택하는 방식
- 라운드 로빈 (Round Robin) : CPU 스케줄링의 라운드 로빈 방식 활용
- Least Connections : 연결 개수가 가장 적은 서버 선택 (트래픽으로 인해 세션이 길어지는 경우 권장)
- Source : 사용자 IP를 해싱하여 분배 (특정 사용자가 항상 같은 서버로 연결되는 것 보장)
로드 밸런서 장애 대비
서버를 분배하는 로드 밸런서에 문제가 생길 수 있기 때문에 로드 밸런서를 이중화하여 대비
Actice 상태의 로드 밸런서와 Passive 상태의 로드 밸런서를 준비함.
Actice 상태의 로드 밸런서에 장애 발생 -> Passive 상태의 로드 밸런서 투입
'Computer Science > Network' 카테고리의 다른 글
CS - Network 기초 (0) | 2022.12.12 |
---|---|
CS - Network - Blocking/Non-blocking & Synchronous/Asynchronous (0) | 2022.11.30 |
CS - Network - TLS/SSL HandShake (0) | 2022.09.26 |
CS - Network - HTTP & HTTPS (1) | 2022.09.26 |
CS - Network - 대칭키 & 공개키 (0) | 2022.09.24 |