-
Load Balancing(로드밸런싱) 과 ProxyCS 지식/네트워크(Network) 2023. 5. 1. 19:58
서버로 traffic이 몰릴 때 해결법
1) scale-up : 서버의 하드웨어를 고성능으로 바꾸어 해결
2) scale-out : 복수의 서버를 사용하여 처리 분담. 여러 대의 웹 서버를 설치하고 한대가 담당하는 사용자의 수를 줄이는 방법
Load Balancing
서버로 요청하는 client 수가 늘어나서 access가 증가할 때 사용.
application을 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법.
Load Balancing : 해야 할 작업을 나누어서 서버의 부하를 분산시키는 것
Load Balancer : 여러대의 서버가 분산처리 할 수 있도록 요청을 나누어주는 서비스
Load Balancer가 요청을 분배할 때의 판단 근거
- 웹 서버의 부하 상태 => 시험 패킷과 같은 것을 이용하여 웹 서버에 보내서 응답 시간으로 부하 판단 가능
- 부하를 조사하지 않고 미리 웹 서버에 능력을 설정한 후 비율에 따라 요청 분배
Load Balancing 알고리즘
- 라운드 로빈 알고리즘 : 가장 간단한 로드 밸런싱 방식. 사용가능한 서버 목록을 통해 동일한 순서로 요청을 간단히 이동시킴.
- 최소 연결 알고리즘 : 사용량이 가장 적은 서버 또는 특정 시점에 가장 적은 워크로드를 처리하는 서버에 요청 전송
- 최소 시간 알고리즘 : 가장 빠른 처리 속도와 가장 적은 활성 요청을 기준으로 서버 선택.
용량, 컴퓨팅 또는 메모리가 더 높은 서버에 지속적으로 우선순위를 부여할 수 있음.
- 해시 기반 알고리즘 : 클라이언트 및 서버의 소스 및 대상 IP 주소에 고유한 해시 키를 할당함. 동일한 사용자가 다시 돌아와서 다른 요청을 하는 경우 해당 사용자 요청이 이전에 사용하던 서버로 전달됨. 또한 서버는 이전 세션에서 입력한 모든 데이터를 그대로 유지함.
Load Balancing 장점
- 확장성 : 수요에 따라 가상 서버를 추가하거나 삭제하여 네트워크 트래픽 변동에 실시간으로 자동 대응 가능
- 유연성 : 하드웨어 로드 밸런서보다 더 유연. 프로그래밍 할 수 있기 때문에 가상 서버, 컨테이너나 클라우드 환경 등에서 동작하도록 프로그래밍 가능
- 비용 : 하드웨어 로드 밸런서보다 저렴
- 간편한 배포 : 하드웨어 로드 밸런서보다 온디맨드로 쉽게 배포할 수 있어서 비용 및 시간 절감 가능
- 보안 : 클라이언트와 서버 사이에 위치하는 로드 밸런싱 소프트웨어는 의심스러운 패킷이 서버에 도달하기 전에 거부하는 기능을 통해 추가 보안 계층 제공
Load Balancer의 종류
L2, L3 : MAC주소, IP 주소를 바탕으로 load balancing
L4 : 전송계층에서 load balancing
L7 : 응용 계층에서 load balancing ex) 블로그 주소 내의 /category냐, /manage냐에 따라서
Proxy
client와 server 간의 중계서버로서 통신을 대리 수행하는 역할.
proxy는 웹 서버가 되기도, 웹 클라이언트가 되기도.
forward proxy
- client와 인터넷 사이에 proxy가 위치해서 client 대신 server에 요청을 보냄
- local network와 인터넷 사이에 오가는 traffic 제어 가능
https://research.aimultiple.com/forward-vs-reverse-proxy/ reverse proxy
- server와 인터넷 사이에 위치해서 server대신 client에 응답을 보내줌
- 웹 서버를 향하는 모든 요청 처리 가능
- 웹 서버의 보안 기능 추가, 빠른 웹 서버 캐시를 느린 웹 서버 앞에 놓음으로써 성능 개선도 가능
https://research.aimultiple.com/forward-vs-reverse-proxy/ 왜 proxy를 사용할까?(proxy 기능)
- 필터 : ex) 학교에서 네트워크 상에서 19세 이상 관련 정보는 제한하는 등.
- 접근 제어
- 캐싱 : reverse proxy는 client가 자주 요청하는 정보를 cache 가능.
- 익명화
- 로드 밸런싱 : reverse proxy의 경우 client의 traffic을 분배해 줌
Reference
'CS 지식 > 네트워크(Network)' 카테고리의 다른 글
OSI 7 layer와 TCP/IP 4 layer (0) 2023.05.25 세션 기반 인증 vs 토큰 기반 인증 (0) 2023.05.12 대칭키 vs 공개키 (0) 2023.05.05 쿠키 vs 세션 (0) 2023.04.21 HTTP 프로토콜(Hypertext Transfer Protocol) (0) 2023.04.18