로드 밸랜서
일반적으로 서버의 부하를 분산 해주는 장치 또는 기술을 뜻함
보통 서버 상단 네트워크에 위치
서버 한 대에 집중되지 않게 트래픽을 관리하여 각 서버가 최적의 효율을 발휘할 수 있게 해
로드 밸런서의 기본 기능
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 프로토콜을 지원합니다. 이를 통해 데이터 통신을 암호화하고, 데이터 유출을 방지합니다.