로드 밸런싱Load Balancing
Load Balancing
들어오는 요청이나 작업을 여러 처리 대상으로 나눠 보내는 방식이에요.
쉽게 비유하면
여러 계산대의 상태를 보고 손님을 적절한 줄로 안내하는 것과 같아요.
조금 더 자세히
순환 배분, 연결 수나 가중치 등 여러 기준을 사용할 수 있어요. 상태 확인으로 응답하지 않는 대상을 제외하고 가용성을 높이기도 해요.
요청을 나누는 것이 처리 자원을 새로 만드는 것은 아니에요. 로그인 상태, 긴 연결과 대상별 처리 능력을 고려해야 해요.
왜 생겼나요
한 서버에 요청이 몰리거나 장애가 나도 다른 처리 대상을 활용하도록 요청 경로를 조율할 필요가 있어요.
어떻게 작동하나요
- 1. 대상과 정책 등록 요청을 받을 대상과 배분 규칙을 정해요.
- 2. 상태 확인과 전달 대상 상태와 정책을 바탕으로 요청을 보내요.
- 3. 관찰과 조정 응답 지연과 오류를 보고 대상이나 규칙을 조절해요.
활용 예시
- 여러 웹 앱 인스턴스에 요청 배분
- 장애 대상 제외
- 신·구 버전 사이 트래픽 분할
로드 밸런싱 vs 스케일링
| 로드 밸런싱 | 스케일링 | |
|---|---|---|
| 바꾸는 것 | 요청을 보내는 대상과 배분 | 처리 자원의 크기나 개수 |
| 함께 쓰는 예 | 추가된 인스턴스에 요청 분산 | 부하에 맞춰 인스턴스 추가 |
흔한 오해
로드 밸런싱과 스케일링은 같은가요?
로드 밸런싱은 요청 배분이고 스케일링은 자원 용량이나 수를 조절하는 일이에요. 둘을 함께 쓰는 경우가 많아요.
이렇게 쓰여요
트래픽 증가 대응
“인스턴스를 늘린 뒤 로드 밸런서에 연결하고, 세션 상태가 다른 인스턴스에서도 유지되는지 보자”라고 이야기해요.
관련 용어
함께 보면 좋은 용어
최종 업데이트