로드밸런싱의 의미와 개념에 대해 알아봅시다.
로드 밸런싱의 의미와 개념을 이해합니다.
로드 밸런싱이란 여러 서버 등 동일한 역할을 수행하는 여러 장치에 처리를 분산시켜 하나의 장치에 큰 부하가 걸리는 상황을 방지하는 것을 의미합니다. 로드밸런싱(Load Balancing)이란 컴퓨터 네트워크를 통해 들어오는 트래픽이 한 서버에 집중되지 않도록 서버 기능을 분산시키고, 컴퓨터 자원을 분산시키는 것을 말한다. 중앙 처리 장치, 네트워크 서버, 컴퓨팅 장치 및 스토리지와 같은 부하 분산 대상 시스템입니다. 로드 밸런싱은 하드웨어나 소프트웨어로 구성할 수 있습니다. 로드 밸런싱을 수행하는 장치를 로드 밸런서(Load Balancer)라고 합니다. 로드 밸런서를 사용하면 사용자는 하나의 서버만 사용하는 것처럼 보이더라도 자동으로 여러 서버를 할당할 수 있습니다.
로드밸런싱 의미 및 개념 설명
로드 밸런싱은 다음을 의미합니다. CPU(중앙처리장치)네트워크 서버 등 병렬로 동작하는 시스템이나 장치에 부하를 고르게 분산시켜 부하가 한 장치에 집중되는 것을 방지하고 업무 처리 효율을 높이는 것을 의미한다. 로드 분산은 “로드 밸런싱”입니다. 로드 밸런싱(Load Balancing)은 중앙처리장치나 저장장치 등 둘 이상의 컴퓨터 자원 간에 처리 작업을 나누어 여러 장치에 처리를 분산시키는 컴퓨터 네트워크 기술의 일종이라고도 불린다. 로드 밸런싱을 통해 가용성을 높이고 응답 시간을 줄여 시스템을 더욱 효율적이고 최적화할 수 있습니다. 로드 밸런서는 외부 트래픽을 수신하고 내부적으로 다시 트래픽을 분산시키는 장치입니다. 로드밸런서는 서버로 보내지는 부하를 분산시키는 장치와 기술을 총칭하는 개념이다. 일반적으로 로드 밸런서는 클라이언트와 분산 네트워크를 구성하는 서버 그룹인 서버 풀 사이에 위치합니다. 로드밸런서는 하나의 서버에 부하가 집중되지 않도록 트래픽을 분산 관리하여 각 서버가 최적의 성능을 발휘할 수 있도록 해줍니다. 로드 밸런싱은 널리 사용되며 다양한 유형으로 제공됩니다.[부하분산의 종류 예시]
서버 로드 밸런싱이란 외부 사용자로부터 다수의 처리 요청이 있을 때 기업 내 서버가 여러 대의 서버에 업무를 적절하게 분배하여 동시에 처리할 수 있도록 하는 것을 말한다. 서버 로드 밸런싱에는 서버 로드 밸런싱을 위한 네트워크 스위치나 소프트웨어가 사용됩니다. 외부 요청을 서버가 직접 받는 것이 아니라, 네트워크 스위치나 소프트웨어가 먼저 요청을 받은 뒤, 네트워크 스위치나 소프트웨어가 이를 서버로 보내는 방식이다. 이는 적절한 배포의 한 형태입니다. 이러한 네트워크 스위치를 L4 스위치(Layer4) 또는 L7 스위치(Layer7)라고 합니다.[L4 로드 밸런서와 L7 로드 밸런서 비교]
L4 로드 밸런서는 네트워크 계층 또는 TCP/UDP 계층의 정보를 기반으로 수신 트래픽을 분산합니다. IP 주소, 포트 번호, 장치 MAC 주소 및 전송 프로토콜에 따라 부하를 분산시킵니다. L7 Load Balancer는 애플리케이션 계층에서 트래픽을 분산시키기 때문에 HTTP 헤더, 쿠키 정보 등 사용자 요청이 분산됩니다. 기준에 따라 특정 서버에 트래픽을 분산합니다. 여기서 애플리케이션 계층은 HTTP, FTP, SMTP를 의미합니다. 로드 밸런싱 기술에는 다양한 유형과 다양한 알고리즘이 있습니다.[로드 밸런싱 기법 종류 예시]
라운드 로빈 방식은 서버로 들어오는 요청을 순서대로 할당하는 방식이다. 모든 서버의 사양은 동일해야 합니다. Weighted Round Robin 방법은 각 서버에 가중치를 할당하고 가중치가 더 높은 서버에 우선 순위를 부여합니다. 이 방법은 서버의 처리 능력이나 성능에 차이가 있을 때 사용됩니다. IP 해시 방법은 클라이언트에서 사용됩니다. IP(인터넷 프로토콜) 주소이 방법은 요청을 처리하기 위해 특정 서버에 매핑됩니다. 사용자의 IP를 해싱하여 부하를 분산시킵니다. 최소 연결 방식은 요청을 받은 시점에 연결 수가 가장 적은 서버에 우선 순위를 분배하는 방식입니다. 최소 응답 시간 최소 응답 시간 방식은 서버의 현재 연결 상태와 응답 시간을 고려하여 연결 상태가 가장 낮고 응답 시간이 가장 짧은 서버에 우선적으로 트래픽을 분배하는 방법입니다. 부하 분산은 여러 처리 장치를 병렬로 연결하는 방식입니다. 이는 작업을 처리하기 위해 각 처리 장치의 부하를 균등하게 분배하는 것을 의미합니다. 로드 밸런싱에서는 하나의 처리 장치에 너무 많거나 적은 부하로 인해 자원이 낭비되지 않도록 처리 작업을 적절하고 공정하게 분배하고, 필요할 경우 한쪽의 부하 중 일부를 다른 처리 장치로 이전합니다. 로드 밸런싱의 종류 작동을 위해서는 각 장치의 로드를 지속적으로 측정해야 합니다. 전 세계적으로 인터넷이 발달하면서 트래픽이 엄청나게 증가했습니다. 결과적으로 서버의 성능이 아무리 높아도 모든 트래픽을 혼자서 처리하기는 어렵습니다. 이에 따라 대부분의 기업에서는 동일한 데이터를 여러 서버에서 처리할 수 있도록 대용량 트래픽을 효과적으로 분산시키기 위해 추가 서버 장비를 배치하고 있습니다. 로드 밸런싱 기술은 여러 서버를 구축하고 생성된 트래픽을 여러 서버에 효율적으로 분산시키는 데 사용됩니다. 부하 분산은 동일한 역할을 수행하는 컴퓨터나 시스템을 여러 서버에 분산시키기 때문에 수평적 분산이라고 합니다. 반대로 각 역할에 대해 여러 대의 컴퓨터를 준비하는 것을 수직적 배포라고 합니다. 분배는 집중의 반대이다. 재해, 하중 등의 위험이 한쪽으로 집중되는 것을 방지하기 위해 분산방식을 사용합니다. 그러나 관리 측면에서 보다 효율적으로 사용하기 위해 중앙 집중식 방법을 선택하는 경우도 있습니다. 컴퓨터공학 분야에서는 분배와 집중이라는 두 가지 측면이 상충되며, 분야에 따라 둘 중 하나를 선택해야 합니다. CDN(Content Delivery Network)은 웹사이트나 이미지, 동영상 등을 전송할 때 부하를 분산시켜 CDN이라는 서버에 분산시키는 방식이다. 업로드 방법은 로드 밸런싱 방법과 다릅니다. 대량의 트래픽이 발생하는 경우 서버 부하 분산이 필수적입니다.