728x90
반응형
서버의 성능을 높이는 방식에는 “SCALE-UP” 방식과 “SCALE-OUT” 방식이 있음
자세한 내용은 아래 링크 참고
https://dahoonkk.tistory.com/entry/SCALE-UP-SCALE-OUT
✅ 로드밸런싱이 필요한 이유
SCALE-OUT 방식으로 3개의 서버를 운영중이고, 사용자가 3000명이라고 가정했을 때
A 서버에 2500명, B 서버에 250명, C 서버에 250명이 접속한다면 비용을 들여 서버를 증설한 것이 유의미하지 않을 수 있음
또한, A 서버에 부하가 집중되어 해당 서버에 장애가 발생할 수 있어 A 서버를 사용하는 사용자들은 다운타임을 겪을 수 있음
이러한 상황을 방지하기 위해 서버에 트래픽을 분산하는 작업인 로드밸런싱이 필요하며 이를 수행하는 것이 바로 로드밸런서
✅ 로드밸런서란?
- 로드밸런서는 트래픽을 받았을 때 해당 트래픽을 여러 대의 서버에 분산시키는 하드웨어 혹은 소프트웨어를 말함
✅ 로드밸런서의 종류
- 로드밸런서의 종류는 2가지로 나뉠 수 있음
- 운영체제 로드밸런서
- 물리적 프로세서 간의 작업을 스케줄링
- 네트워크 로드밸런서
- 주로 사용하는 로드밸런서
- 로드 밸런서의 종류는 OSI 7계층을 기준으로 어떻게 부하를 분산하는지에 따라 나뉨
- 네트워크 로드밸런서의 종류로 L2, L3, L4, L7이 있음
- L4부터 Port를 다루는게 가능해 L4와 L7이 많이 사용됨
✅ L4 Load Balancer
- TCP, UDP Protocol
- IP, Port를 기준으로 스케줄링 알고리즘을 통해 부하를 분산(주로 Round Robin 방식 사용)
- 클라이언트에서 로드밸런서로 요청을 보내면 최적의 서버로 요청을 전송하고 결과를 클라이언트에게 제공
- Port기반 스위칭 지원, VIP를 이용하여 여러대를 한대로 묶어 부하분산
- TCP / UDP 패킷 정보를 분석하고 해당 패킷이 사용하는 서비스 종류별(HTTP, FTP 등)로 처리하기 때문에 프록시 문제가 발생할 수 있음
✅ L7 Load Balancer
- IP, Port, URI, Payload, HTTP Header, Cookie 등의 내용을 기준으로 부하를 분산
- 콘텐츠 기반 스위칭이라고도 함
- 요청의 세부적인 사항(예를 들어 회원가입만을 담당하는 서버 / 결제만 담당하는 서버 등)을 다루는 서버로 분리해 가볍고 작은 단위로 여러 개의 서비스를 운영
- 클라이언트의 요청을 각각의 서버에 분산할 수 있음
- 데이터를 분석해서 처리하기 때문에 악의적이거나 비정상적인 콘텐츠를 감지해 보안 지점을 구축하할 수 있음
- 하지만 자원 소모가 크다는 단점이 있음
훈바
참고 : https://vaert.tistory.com/189 / https://jaehoney.tistory.com/73
728x90
반응형
'Studying > Back-End' 카테고리의 다른 글
SCALE-UP, SCALE-OUT (2) | 2023.04.21 |
---|---|
고가용성(High Availability; HA)과 서버 이중화에 대해서 (0) | 2023.04.18 |