SLB(Server Load Balancing)와 DSR(Direct Server Return)의 개념, 차이점 및 사용 사례
SLB와 DSR은 서버 로드 밸런싱에 사용되는 두 가지 주요 방식입니다. SLB는 로드 밸런서가 클라이언트와 서버 사이의 중간 역할을 수행하는 방식이고, DSR은 로드 밸런서가 클라이언트의 요청을 서버로 전송한 후, 서버의 응답을 클라이언트에게 직접 전달하는 방식입니다.
SLB, DSR 다이어그램
- SLB(Server Load Balancing) 다이어그램
- DSR(Direct Server Return) 다이어그램
SLB(Server Load Balancing)의 개념
SLB는 여러 개의 서버를 하나의 논리적인 서버로 구성하여, 클라이언트의 요청을 각 서버로 분산하는 방식입니다. SLB는 클라이언트와 서버 사이의 중간 역할을 수행하며, 클라이언트의 요청을 받아서 서버로 전송하고, 서버의 응답을 다시 클라이언트에게 전송합니다. 이 과정에서 SLB는 요청과 응답의 IP 주소와 포트 번호를 변경합니다.
DSR(Direct Server Return)의 개념
DSR은 로드 밸런서가 클라이언트의 요청을 서버로 전송한 후, 서버의 응답을 클라이언트에게 직접 전달하는 방식입니다. 이 과정에서 로드 밸런서는 요청의 IP 주소와 포트 번호를 변경하지 않습니다.
SLB와 DSR의 주요 차이점
특징 | SLB | DSR |
로드 밸런서의 역할 | 클라이언트와 서버 사이의 중간 역할 | 클라이언트의 요청을 서버로 전송한 후, 서버의 응답을 클라이언트에게 직접 전달 |
요청과 응답의 IP 주소와 포트 번호 변경 | 변경 | 변경하지 않음 |
클라이언트의 서버 IP 주소와 포트 번호 필요 여부 | 필요하지 않음 | 필요함 |
클라이언트와 서버 간의 연결 관리 | 로드 밸런서에서 관리 | 클라이언트와 서버에서 직접 관리 |
로드 밸런서의 성능 영향 | 클라이언트와 서버 간의 연결 관리로 인한 성능 저하가 발생할 수 있음 | 클라이언트와 서버 간의 연결 관리가 필요하지 않기 때문에, 로드 밸런서의 성능 영향이 적음 |
SLB와 DSR의 사용 사례
- SLB는 다음과 같은 경우 사용
- 클라이언트가 서버의 IP 주소와 포트 번호를 알 필요가 없는 경우
- 로드 밸런서가 클라이언트와 서버 사이의 연결을 관리해야 하는 경우
- 로드 밸런서가 클라이언트의 요청을 암호화해야 하는 경우
- 대규모 웹 애플리케이션
- 애플리케이션 서버 클러스터
- SSL 오프로딩 (SSL 해독 및 암호화를 로드 밸런서에서 수행)
- 방화벽 앞에서 보안 강화
- DSR은 다음과 같은 경우 사용
- 클라이언트가 서버의 IP 주소와 포트 번호를 알고 있는 경우
- 로드 밸런서가 클라이언트와 서버 사이의 연결을 관리할 필요가 없는 경우
- 로드 밸런서가 클라이언트의 요청을 암호화할 필요가 없는 경우
- 게임 서버
- 캐싱 서버
- 미디어 서버
- 클라이언트와 직접 통신해야 하는 경우
결론적으로, SLB와 DSR은 각각 장단점이 있기 때문에, 특정 시스템의 요구 사항에 따라 적절한 방식을 선택해야 합니다.
추가 설명
- SLB는 일반적으로 클라이언트와 서버 간의 연결을 관리해야 하는 경우 사용됩니다. 예를 들어, HTTP/2를 사용하는 경우, 클라이언트와 서버 간의 연결을 유지해야 합니다. 또한, 클라이언트의 요청을 암호화해야 하는 경우에도 SLB를 사용해야 합니다.
- DSR은 일반적으로 클라이언트와 서버 간의 연결을 관리할 필요가 없는 경우 사용됩니다. 예를 들어, TCP를 사용하는 경우, 클라이언트와 서버 간의 연결을 유지할 필요가 없습니다.
참고URL
- redis gate : Load Balancing 부하 분산
- JK Archives Blog : Network #1 : Load Balancing : DSR (Direct Server Return)
- Daniels Networking Blog : CCDE – Load Balancer Designs
- fortinet : Configuring Direct Server Return
- VMware NSX Advanced Load Balancer : Direct Server Return on NSX Advanced Load Balancer
- Kubernetes Community Days Chennai : DIRECT SERVER RETURN WITH KUBERNETES
- Genius DM : DSR 구성을 통한 네트워크 아웃바운드 트래픽 감소
'리눅스' 카테고리의 다른 글
sar 명령어(sysstat 패키지) (0) | 2023.10.18 |
---|---|
L2 DSR, L3 DSR 및 L4 DSR의 구성 방법, 주요 차이점 및 구성 사례 (0) | 2023.10.18 |
[draft] 우분투에서 로컬 APT 리포지토리 서버를 apt-mirror를 사용하여 구축하는 방법 (0) | 2023.10.16 |
[draft] 우분투에 APT Cacher 서버를 구축하는 방법 (0) | 2023.10.16 |
파일 시스템의 기본 블록 크기를 확인하는 방법(tune2fs) (0) | 2023.10.16 |