로드밸런싱에 대해서 설명해보세요.
로드 밸런싱의 정의
로드밸런싱(Load Balancing)이란 하나의 인터넷 서비스가 발생하는 트래픽이 많을 때 여러 대의 서버가 분산 처리하여 서버의 로드율 증가, 부하량, 속도저하 등을 고려하여 적절히 분산 처리하여 해결해 주는 서비스이다.
- 로드 밸런싱의 장점
고가의 서버로 확장하지 않고 저렴한 비용으로 다수의 서버를 증설하여 경제적으로 비용 절감 할 수 있다.
대량의 트래픽으로 1대의 서버로 집중적인 부하율이 높아지면 L4 스위치가 이를 감지하여 합리적으로 부하분산 처리 할 수 있다.
1대의 서버 장애가 발생하여도 서비스 중단 없이 다른 서버로 적절히 자동으로 분배하여 서비스가 계속 운용 가능하게 할 수 있다.
추후 사용량이 많아 서버 확장으로 서비스 중단 없이 서버 증설이 가능하다.
- 로드 밸런싱 방식
(1) DNS 로드 밸런싱 — 동일 도메인에 여러 IP를 연결하여 요청을 분산하는 가장 간단한 방법. 단, DNS 캐시 문제로 균일한 분산이 어렵다는 한계가 있다.
(2) 소프트웨어/하드웨어 로드 밸런싱 — L4(전송 계층) 또는 L7(애플리케이션 계층) 수준에서 요청을 분산. 일반적으로 하드웨어 솔루션이 더 확실하지만 더 비싸다.
(3) 역 프록싱(Reverse Proxy) — 클라이언트 요청을 가로채어 웹 서버에 대신 전달한 다음 그 응답을 클라이언트에게 되돌려주는 방식.
현재 클라우드 네이티브 환경에서는 쿠버네티스(Kubernetes) 인그레스(Ingress) 컨트롤러가 L7 로드밸런싱의 핵심 구성 요소로 활용된다. Nginx Ingress·Traefik·AWS ALB(Application Load Balancer) 등이 대표적이며, URL 경로·호스트명 기반의 세밀한 트래픽 라우팅이 가능하다. 또한 AWS ELB(Elastic Load Balancer)·GCP Cloud Load Balancing·Azure Load Balancer 등 퍼블릭 클라우드의 완전 관리형 로드밸런싱 서비스가 대규모 서비스 인프라의 표준으로 자리잡고 있다. 카카오·네이버 등 국내 대형 서비스도 클라우드 기반 로드밸런서와 오토스케일링(Auto Scaling)을 결합하여 트래픽 급증에 유연하게 대응하고 있다.
커뮤니티 Q&A
위 이론과 관련된 게시글이에요.
이해가 안 되거나 궁금한 점이 있다면 커뮤니티에 질문해 보세요!
게시글 작성하기