Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
Tags
- Proxy Server
- 서버 호스팅
- 삼성 청년 SW 아카데미
- 싸피 면접 후기
- 동기화
- 다익스트라
- 뮤텍스란?
- 세마포어와 뮤텍스
- 최단 경로
- 호스팅이란?
- 다익스트라 알고리즘
- 세마포어와 뮤텍스의 차이
- 뮤텍스
- floyd-warshall
- SSAFY
- Dijkstra Algorithm
- 싸피 합격
- 웹 호스팅
- 호스팅
- 플로이드 워셜
- 클라우드 서버
- 프록시
- 세마포어
- 세마포어란?
- Synchronization
- 플로이드 와샬
- 싸피
- 프록시서버
- Proxy
Archives
- Today
- Total
어제의 나보다 성장한 오늘의 나
로드 밸런싱 본문
문제점
사용자가 한 두 명인 경우에 서버는 여유롭게 원하는 결과를 응답할 수 있다. 하지만 사용자가 수천만 명이라면 어떨까?
서버는 모든 사람들의 응답을 해주려고 노력하지만 결국엔 지치게 되어 동작을 멈추게 된다.
문제 해결
- Scale-up : Server가 더 빠르게 동작하기 위해 하드웨어 성능을 올리는 방법.
- Scale-out : 하나의 Server 보다는 여러 대의 Server가 나눠서 일을 하는 방법.
기업에서는 Scale-out형태를 취한다.
- 하드웨어 향상하는 비용보다 서버 한대 추가 비용이 더 적다.
- 여러 대의 Server 덕분에 서버가 하나 다운되더라도 다른 서버가 살아 있기에 무중단 서비스를 제공할 수 있다.
하지만! 다수의 서버를 구축해 운영한다고 해도 쏟아지는 트래픽을 여러 대의 서버로 분산해주는 기술이 없다면 한 곳의 서버에 모든 트래픽이 몰리는 상황이 되어 위에 문제점과 별반 다를 게 없다.
이때 필요한 기술이 바로 로드(=부하) 밸런싱(=분산)이다.
로드밸런싱 알고리즘
- 라운드 로빈 방식(Round Robin Method)
- 서버에 들어온 요청 순서대로 돌아가며 배정하는 방식
- 클라이언트의 요청을 순서대로 분배하기 때문에 여러 대의 서버가 동일한 스펙 또는 서버와의 연결이 오래 지속되지 않는 경우에 적합하다.
- 가중 라운드 로빈 방식(Weighted Round Robin Method)
- 각각의 서버마다 가중치를 매기고 가중치가 높은 서버에 클라이언트 요청을 우선적으로 배분
- 서버의 트래픽 처리 능력이 상이할 경우 사용
- IP 해시 방식(IP Hash Method)
- 클라이언트의 IP 주소를 특정 서버로 매핑하여 처리하는 방식
- 사용자의 IP를 해싱해 분배하기 때문에 동일안 서버로 연결되는 것을 보장
- 최소 연결 방식(Least Connection Method)
- 요청이 들어온 시점에 가장 적은 연결 상태를 보이는 서버에 우선적으로 배분
- 자주 세션이 길어지거나, 서버에 분배된 트래픽들이 일정하지 않은 경우 적합
- 최소 리스폰 타임(Least Response Time Method)
- 서버의 현재 연결 상태와 응답 시간 (Response Time, 서버에 요청을 보내고 최초 응답을 받을 때까지 소요되는 시간)을 모두 고려해 배분
- 가장 적은 연결 상태와 가장 짧은 응답 시간을 보이는 서버에 우선적으로 배분
부하 분산에는 L4 로드밸런서와 L7 로드밸런서가 가장 많이 활용된다. 그 이유는 L4 로드밸런서부터 포트(Port) 정보를 바탕으로 로드를 분산하는 것이 가능하기 때문이다. 또한, 한 대의 서버에 각기 다른 포트 번호를 부여하여 다수의 서버 프로그램을 운영하는 경우라면 최소 L4 로드밸런서 이상을 사용해야만 한다.
L4? L7? -> OSI 7 계층 개념이다. gooweon.tistory.com/86
로드 밸런싱에도 문제가 일어날 수 있다. 그러면 어떻게 대비할까? 로드 밸런서를 이중화하여 대비한다.
- Active 상태
- Passive 상태
출처
nesoy.github.io/articles/2018-06/Load-Balancer
m.post.naver.com/viewer/postView.nhn?volumeNo=27046347&memberNo=2521903
'CS > 네트워크' 카테고리의 다른 글
HTTP란? (0) | 2021.05.22 |
---|---|
유니캐스트, 멀티캐스트, 브로드캐스트 (0) | 2021.04.09 |
TCP/IP 4계층 (0) | 2021.04.07 |
OSI 7계층 (0) | 2021.04.07 |
UDP란? (0) | 2021.04.06 |
Comments