Load Balancer
- 네트워크 트래픽(=부하=로드)을 여러 대상 서버 또는 인스턴스에 균등하게 분산(=밸런싱)시켜주는 정치 또는 서비스
- 웹 서비스나 애플리케이션에서 발생하는 트래픽이 많을 때, 로드 밸런서는 트래픽의 부하를 분산시켜 서버의 과부하를 방지하고 성능을 향상시킨다.
- 클라이언트로부터 들어오는 요청을 여러 대상 서버로 분배하여 각 서버의 작업 부담을 균등하게 분산시킨다.
- 이를 통해 각 서버가 고르게 작업을 처리하여 응답 시간을 최적화하고, 서버의 가용성과 언정성을 높인다!
- 만약 하나의 서버에 장애가 발생하더라도 로드 밸런서는 이를 감지하여 해당 서버를 우회하고 정상적인 서버로 요청을 전달하므로 시스템의 신뢰성을 보장한다.
- 주로 웹 서비스 서버, 애플리케이션 서버, 데이터베이스 서버 등에 적용된다.
- 일반적으로 하드웨어 로드 밸런서와 소프트웨어 로드 밸런서가 있으며, 클라우드 환경에서는 클라우드 제공업체가 제공하는 로드 밸런서를 사용할 수도 있다.
Elastic Load Balancer
- 다수의 서비스에 트래픽을 분산 시켜주는 AWS 서비스
- 들어오는 트래픽을 여러 EC2 인스턴스 또는 컨테이너에 자동으로 분산시켜주는 역할을 한다.
- 이를 통해 트랙픽의 부하를 균등하게 분산시키고, 고가용성을 제공하여 웹 서비스의 안정성과 성능을 향상시킬 수 있다.
- ELB는 Auto Scaling과 연동하여 트래픽이 증가하거나 감소할 때 자동으로 인스턴스 또는 컨테이너를 추가하거나 제거하여 애플리케이션의 가용성과 확장성을 관리한다.
종류
- Application Load Balancer(ANB): HTTP, HTTPS, WebSocket 등의 애플리케이션 레벨에서의 로드 밸런싱을 제공한다. 기능적으로 더 많은 옵션을 제공하며, 다양한 애플리케이션 아키텍처를 지원한다.
- Network Load Balancer(NLB): TCP, UDP, TLS(Transport Layer Security) 등의 프로토콜을 지원하는 로드 밸런서이다. 퍼포먼스를 최적화하고 고성능 애플리케이션에 적합하다.
- Classic Load Balancer(CLB): 이전 버전의 ELB로 기본적인 로드 밸런싱을 제공한다. HTTP, HTTPS, TCP 프로토콜을 지원하며, 상태 기반 및 세션 기반 로드 밸런싱을 지원한다.
- Gateway Load Balaancer(GLB)
확장성
ELB는 AWS의 다른 서비스와도 연동할 수 있으며, VPC(Virtual Private Cloud) 내에서 사용할 수 있다. 이를 통해 보안성과 네트워크 구성을 더욱 강화할 수 있다. ELB는 AWS의 핵심 서비스 중 하나로, 대규모 웹 애플리케이션 및 마이크로 서비스 아키텍처에서 자주 사용되는 서비스이다!
출처
'IT > CS' 카테고리의 다른 글
[네트워크] CDN과 CloudFront (0) | 2023.07.22 |
---|---|
[네트워크] VPC (0) | 2023.07.22 |
[네트워크] 웹소켓(WebSocket) (0) | 2023.07.07 |
백엔드 Node.js를 쓰는 이점 (0) | 2023.07.05 |
[OS] Race Condition과 Mutual Exclusion (0) | 2023.05.29 |