////
Search
Duplicate

nginx, 로드밸런서

로드 밸랜서

일반적으로 서버의 부하를 분산 해주는 장치 또는 기술을 뜻함
보통 서버 상단 네트워크에 위치
서버 한 대에 집중되지 않게 트래픽을 관리하여 각 서버가 최적의 효율을 발휘할 수 있게 해

로드 밸런서의 기본 기능

1.
Health Check
서버가 정상적으로 작동하는지 확인
2.
알고리즘에 따른 분산 처리
Least Connection 알고리즘
Round Robin 알고리즘
Hash 알고리즘NAT (Network Address Translation)
Random Select
Ratio
3.
NAT(Network Address Translation)
사설 ip → 공인 ip 변환, 공인 ip → 사설 ip 변환
클라이언트의 요청이 로드 밸런서에 도달하면, 로드 밸런서는 NAT를 사용해 클라이언트의 IP 주소를 자신의 주소로 변환, 클라이언트의 요청을 처리할 서버를 선택
선택된 서버에게는 로드 밸런서의 IP 주소와 클라이언트의 요청 내용이 전달되므로, 서버는 요청을 처리한 후 결과를 로드 밸런서에게 보냅니다
4.
DSR (Direct Server Return)
서버에서 로드밸런서로 가지 않고 바로 클라이언트로 보내는 방식
로드밸런서를 거치는 트래픽 부하를 줄임

로드밸런서가 하나일 때 로드밸런서가 다운되면?

→ Single Point of Faulure (SPOF)가 생김
그래서 로드밸런서도 스케일 아웃이나 마스터 슬레이브 구조를 가져서 대비를 해야 함
Single Point of Failure
전체 시스템에서 특정 포인트에서 에러가 났을 때 전체 시스템이 다운되는 경우

Nginx

웹 서버: 정적 파일을 처리하고, 클라이언트의 요청에 따라 콘텐츠를 제공합니다. 이는 HTML, CSS, JavaScript, 이미지 파일 등을 브라우저로 전송하는 역할을 합니다.리버스 프록시: 클라이언트의 요청을 적절한 백엔드 서버로 전달하고, 그 응답을 클라이언트에게 다시 전달하는 역할을 합니다. 이를 통해 클라이언트는 마치 하나의 서버와만 통신하는 것처럼 느껴질 수 있습니다.로드 밸런서: 여러 서버에 분산된 트래픽을 관리합니다. 이는 백엔드 서버의 부하를 분산시키고, 서버 다운타임 없이 서비스를 제공하는 데 도움을 줍니다.HTTP 캐시: 자주 요청되는 웹 콘텐츠를 캐시하여 빠른 응답 시간을 제공하고, 백엔드 서버의 부하를 줄입니다.메일 프록시 서버: IMAP, POP3, SMTP 프로토콜을 지원하며, 클라이언트 메일 서버 요청을 처리하는 역할을 합니다.SSL/TLS 지원: 안전한 연결을 위해 SSL/TLS 프로토콜을 지원합니다. 이를 통해 데이터 통신을 암호화하고, 데이터 유출을 방지합니다.
1.
웹 서버: 정적 파일을 처리하고, 클라이언트의 요청에 따라 콘텐츠를 제공합니다. 이는 HTML, CSS, JavaScript, 이미지 파일 등을 브라우저로 전송하는 역할을 합니다.
2.
리버스 프록시: 클라이언트의 요청을 적절한 백엔드 서버로 전달하고, 그 응답을 클라이언트에게 다시 전달하는 역할을 합니다. 이를 통해 클라이언트는 마치 하나의 서버와만 통신하는 것처럼 느껴질 수 있습니다.
3.
로드 밸런서: 여러 서버에 분산된 트래픽을 관리합니다. 이는 백엔드 서버의 부하를 분산시키고, 서버 다운타임 없이 서비스를 제공하는 데 도움을 줍니다.
4.
HTTP 캐시: 자주 요청되는 웹 콘텐츠를 캐시하여 빠른 응답 시간을 제공하고, 백엔드 서버의 부하를 줄입니다.
5.
메일 프록시 서버: IMAP, POP3, SMTP 프로토콜을 지원하며, 클라이언트 메일 서버 요청을 처리하는 역할을 합니다.
6.
SSL/TLS 지원: 안전한 연결을 위해 SSL/TLS 프로토콜을 지원합니다. 이를 통해 데이터 통신을 암호화하고, 데이터 유출을 방지합니다.