로드 밸런싱은 네트워크 또는 애플리케이션 트래픽이 서버 팜 또는 서버 풀의 여러 서버에 분산되는 프로세스입니다. 로드 밸런서의 기본 아이디어는 클라이언트 요청 또는 트래픽을 잠재적으로 유휴 상태인 다른 노드로 라우팅하여 컴퓨팅 노드의 과부하를 방지하는 것입니다. 클라이언트 장치와 백엔드 서버 사이에 배치된 로드 밸런서라는 네트워크 장치 또는 소프트웨어. 이들은 들어오는 트래픽을 수신하고 요청을 이행할 수 있는 서버로 라우팅하는 역할을 합니다.
로드 밸런싱은 기업이 증가하는 수요에 부응하고 애플리케이션이 사용자를 위해 실행되도록 하는 효과적인 방법이 되었습니다. 오늘날의 비즈니스는 웹 사이트 및 애플리케이션에 대한 분당 수백, 수천 건의 클라이언트 요청을 받습니다. 성수기 또는 시간 동안 이 트래픽은 훨씬 더 급증할 수 있습니다. 서버는 사진, 비디오 및 기타 애플리케이션 데이터를 포함한 고품질 미디어를 유지하고 응답해야 하는 압박을 받고 있습니다. 이러한 응용 프로그램의 중단이나 중단 시간은 수준 이하의 경험을 제공하고 사용자를 외면하여 수익 손실을 초래할 수 있습니다.
로드 밸런서는 무엇입니까?
로드 밸런서는 들어오는 요청을 분석하고 관련 서버로 전환하는 네트워크의 장치 또는 프로세스입니다. 로드 밸런서는 네트워크의 물리적 장치, 특수 하드웨어(가상 로드 밸런서) 또는 소프트웨어 프로세스에서 실행되는 가상화된 인스턴스일 수 있습니다. 또한 일반적으로 애플리케이션의 성능과 보안을 개선하도록 설계된 네트워크 장치인 애플리케이션 딜리버리 컨트롤러(ADC)에 통합될 수 있습니다.
사용자가 일관된 경험을 얻을 수 있도록 로드 밸런서는 OSI(Open Systems Interconnection) 모델을 따릅니다. OSI는 기본 내부 구조나 기술에 의존하지 않는 시스템의 통신 기능에 대한 일련의 표준입니다. 이 모델에 따르면 로드 밸런싱은 최적의 일관된 사용자 경험을 위해 두 계층에서 발생해야 합니다.
레이어 4(L4) 로드 밸런서
이러한 로드 밸런서는 사용하는 TCP 또는 UDP 포트와 소스 및 대상의 IP 주소를 기반으로 트래픽 패킷을 라우팅하는 방법을 결정합니다. L4 로드 밸런서는 패킷의 실제 내용을 검사하지 않지만 네트워크 주소 변환이라는 프로세스에서 IP 주소를 올바른 서버에 매핑합니다.
레이어 7(L7) 로드 밸런서
L7 로드 밸런서는 애플리케이션 계층에서 작동하며 HTTP 헤더, SSL 세션 ID 및 기타 데이터를 검사하여 들어오는 요청을 라우팅할 서버와 방법을 결정할 수 있습니다. 서버에 대한 클라이언트 요청을 이해하고 처리하는 데 추가 컨텍스트가 필요하기 때문에 L7 로드 밸런서는 L4 로드 밸런서보다 CPU를 더 많이 사용하지만 결과적으로 더 효율적입니다.
라는 또 다른 유형의 로드 밸런싱이 있습니다. 글로벌 서버 로드 밸런싱. 이는 최종 사용자의 서비스에 부정적인 영향을 미치지 않고 대량의 트래픽을 분산하기 위해 여러 데이터 센터에서 L4 및 L7 로드 밸런서의 기능을 확장합니다. 또한 여러 지역에 분산된 클라우드 데이터 센터의 애플리케이션 요청을 처리하는 데 특히 유용합니다.
로드 밸런싱의 간략한 역사
로드 밸런싱은 1990년대에 네트워크를 통해 트래픽을 분산하는 하드웨어 어플라이언스로 유명해졌습니다. 인터넷 기술과 연결성이 빠르게 향상됨에 따라 웹 애플리케이션은 더욱 복잡해졌고 요구 사항은 개별 서버의 기능을 초과했습니다. 유사한 리소스에 대한 여러 요청을 받아 서버 간에 효과적으로 배포하는 더 나은 방법을 찾아야 했습니다. 이것이 로드 밸런서의 기원이었습니다.
로드 밸런싱을 통해 웹 애플리케이션이 개별 서버에 의존하는 것을 피할 수 있었기 때문에 이러한 애플리케이션을 단일 서버가 지원할 수 있는 것 이상으로 쉽게 확장하는 데 도움이 되었습니다. 곧, 지속적인 상태 확인을 제공하는 기능, 애플리케이션 콘텐츠 및 기타 특수 기능을 기반으로 한 지능형 배포를 포함하여 진화한 다른 기능이 있었습니다.
2000년대 초 ADC의 부상은 애플리케이션 로드 밸런싱의 역사에서 중요한 이정표였습니다. ADC는 응용 프로그램의 성능 향상을 목표로 개발된 네트워크 장치이며 응용 프로그램 로드 밸런싱은 이를 달성하는 방법 중 하나가 되었습니다. 그러나 곧 압축, 캐싱, 인증, 웹 애플리케이션 방화벽 및 기타 보안 서비스를 포함하여 더 많은 애플리케이션 서비스를 포함하도록 발전할 것입니다.
부하 분산 및 클라우드 컴퓨팅
클라우드 컴퓨팅이 천천히 애플리케이션 제공을 지배하기 시작하면서 ADC도 함께 진화했습니다. 하드웨어 어플라이언스로 시작한 ADC는 레거시 하드웨어에서 추출한 소프트웨어와 순수한 소프트웨어 로드 밸런서까지 가상 머신의 형태를 취했습니다. 소프트웨어 ADC는 하드웨어 ADC와 유사한 작업을 수행하지만 더 많은 기능과 유연성을 제공합니다. 이를 통해 조직은 클라우드 환경에서 애플리케이션 서비스를 신속하게 확장하여 보안을 유지하면서 급증하는 수요를 충족할 수 있습니다.
로드 밸런싱은 어떻게 작동합니까?
로드 밸런서는 네트워크에서 하드웨어 장치의 형태를 취하거나 순전히 소프트웨어 정의 프로세스일 수 있습니다. 어떤 형태로 들어오든 간에 다양한 조건에 따라 서로 다른 웹 서버에 네트워크 트래픽을 분배하여 어느 하나의 서버에 과부하가 걸리지 않도록 하는 방식으로 작동합니다.
혼잡을 피하기 위해 교통량이 많은 교통량을 덜 혼잡한 차선으로 리디렉션하는 교통 경찰과 같은 로드 밸런서를 생각해 보십시오. 로드 밸런서는 응용 프로그램 서버와 PC, 노트북 또는 태블릿과 같은 엔드포인트 장치 간의 원활한 정보 흐름을 효과적으로 관리합니다. 해당 서버는 온프레미스, 데이터 센터 또는 클라우드에 있을 수 있습니다. 로드 밸런서가 없으면 개별 서버가 과부하되고 애플리케이션이 응답하지 않아 응답 지연, 열악한 사용 경험 및 수익 손실로 이어질 수 있습니다.
로드 밸런서가 작동하는 정확한 메커니즘은 하드웨어 어플라이언스인지 소프트웨어인지에 따라 다릅니다.
하드웨어 대 소프트웨어 로드 밸런싱
하드웨어 기반 로드 밸런서는 온프레미스 하드웨어 및 물리적 장치를 사용하여 작동하여 네트워크 로드를 분산합니다. 이들은 많은 양의 네트워크 트래픽과 고성능 애플리케이션을 처리할 수 있습니다. 하드웨어 로드 밸런서에는 내장형 가상화가 포함되어 있어 동일한 장치에 많은 인스턴스를 통합할 수도 있습니다.
소프트웨어를 실행하기 위해 특수 프로세서를 사용하기 때문에 빠른 처리량을 제공하는 동시에 네트워크 또는 애플리케이션 서버에 대한 물리적 액세스가 필요하여 보안이 강화됩니다. 단점은 하드웨어 로드 밸런서가 하드웨어를 구성, 프로그래밍 및 유지 관리하기 위해 실제 머신과 유료 컨설턴트를 구매해야 하기 때문에 비용이 많이 들 수 있다는 것입니다.
소프트웨어 부하 분산은 어떻게 작동합니까?
반면에 소프트웨어 기반 로드 밸런서는 고가의 하드웨어를 교체하면서 하드웨어 로드 밸런서와 동일한 이점을 제공할 수 있습니다. 모든 표준 장치에서 실행할 수 있으므로 공간과 하드웨어 비용을 절약할 수 있습니다. 소프트웨어 로드 밸런서는 변화하는 요구 사항에 맞게 조정할 수 있는 더 많은 유연성을 제공하며 더 많은 소프트웨어 인스턴스를 추가하여 용량을 확장하는 데 도움이 될 수 있습니다. 또한 관리형 오프사이트 솔루션 또는 사내 호스팅이 포함된 하이브리드 모델의 클라우드에서 로드 밸런싱에 쉽게 사용할 수 있습니다.
DNS 로드 밸런싱은 로드 밸런싱에 대한 소프트웨어 정의 접근 방식입니다. 여기서 DNS(도메인 이름 시스템) 내의 도메인에 대한 클라이언트 요청은 다양한 서버에 분산됩니다. DNS 시스템은 새로운 클라이언트 요청에 응답할 때마다 다른 버전의 IP 주소 목록을 보냅니다. 이렇게 하면 DNS 요청이 다른 서버에 고르게 분산되어 전체 로드를 처리할 수 있습니다. 응답하지 않는 서버가 자동으로 제거되면 DNS 로드 밸런싱을 통해 자동 장애 조치 또는 작동 중인 서버로의 백업이 가능합니다.
로드 밸런싱 알고리즘의 다양한 유형
네트워크 로드 밸런서가 로드를 관리하고 분산하는 데 사용하는 몇 가지 방법 또는 기술이 있습니다. 각 클라이언트 요청을 수신해야 하는 애플리케이션 서버를 결정하는 데 사용하는 알고리즘이 다릅니다. 가장 일반적인 5가지 로드 밸런싱 방법은 다음과 같습니다.
라운드 로빈
이 방법에서 들어오는 요청은 주기적으로 각 서버로 전달됩니다. 마지막 서버에 도달하면 첫 번째 서버부터 주기가 반복됩니다. 구현하기 가장 간단한 방법 중 하나이지만 모든 서버의 용량이 비슷하다고 가정하기 때문에 가장 효율적이지는 않을 수 있습니다. 이 방법에는 이 가정에 맞게 조정할 수 있는 두 가지 다른 변형(가중 라운드 로빈 및 동적 라운드 로빈)이 있습니다.
IP 해시
이것은 클라이언트의 IP 주소가 요청을 받는 서버를 결정하는 상대적으로 간단한 로드 밸런싱 방법입니다. 알고리즘을 사용하여 고유한 해시 키 또는 소스 및 대상 IP 주소의 암호화된 버전을 생성합니다. 이 키는 클라이언트의 요청을 특정 서버에 할당하는 데 사용됩니다.
최소 연결
Least Connections 방법에서는 활성 연결이 가장 적은 서버로 트래픽이 전환됩니다. 트래픽이 많은 기간의 시나리오에 이상적인 이 방법은 사용 가능한 모든 서버 간에 트래픽을 고르게 분산하는 데 도움이 됩니다.
최소 응답 시간
최소 응답 시간 방법에서 트래픽은 두 가지 조건을 충족하는 서버로 전달됩니다. 활성 연결 수가 가장 적어야 합니다. 및 가장 낮은 평균 응답 시간.
최소 대역폭
이 방법에서 로드 밸런서는 마지막 14초 동안 서버의 대역폭 소비(Mbps)를 확인합니다. 대역폭을 가장 적게 사용하는 것이 클라이언트 요청을 보내기 위해 선택됩니다.
로드 밸런싱 이점
결국 로드 밸런싱은 최종 사용자에게 안정적이고 일관된 경험을 제공하기 위해 기업이 네트워크 트래픽과 애플리케이션 로드를 효과적으로 관리하도록 돕는 것입니다. 이를 통해 로드 밸런서는 다음과 같은 이점을 제공합니다.
트래픽 급증에 대처할 수 있는 확장성
로드 밸런싱은 비즈니스가 트래픽 변동 또는 급증을 파악하고 변화하는 요구 사항을 충족하기 위해 서버를 늘리거나 줄이는 데 도움이 됩니다. 이를 통해 기업은 고객 수요의 갑작스러운 증가를 활용하여 수익을 높일 수 있습니다. 예를 들어 전자 상거래 웹사이트는 휴가철과 판촉 기간 동안 네트워크 트래픽이 급증할 것으로 예상할 수 있습니다. 부하의 균형을 맞추기 위해 서버 용량을 확장하는 능력은 신규 또는 유지 고객의 매출 증대와 불만 고객으로 인한 상당한 이탈 사이의 차이일 수 있습니다.
가동 중지 시간을 최소화하기 위한 이중화
전례 없는 트래픽 급증 시 웹 사이트 서버가 실패하는 것은 드문 일이 아닙니다. 그러나 둘 이상의 웹 서버에서 웹 사이트를 유지할 수 있다면 단일 서버의 중단 시간으로 인해 발생할 수 있는 피해를 제한할 수 있습니다. 로드 밸런싱은 하나의 서버가 실패할 경우 자동으로 네트워크 로드를 작동 중인 서버로 전송하여 자동화 계층을 추가하여 워크로드를 현대화하는 데 도움이 됩니다. 하나의 서버를 활성 모드로 유지하여 트래픽을 수신하고 다른 서버는 수동 모드로 유지하여 활성 서버가 실패할 경우 온라인 상태로 전환할 수 있습니다. 이러한 배열은 하드웨어 장애 인스턴스를 처리하기 위해 하나의 서버가 항상 활성화된다는 확신을 기업에 제공합니다.
유지 보수를 수행할 수 있는 유연성
일시적으로 수동 서버로 트래픽을 전환하는 기능을 통해 개발자는 결함이 있는 서버에서 유지 관리 작업을 유연하게 수행할 수 있습니다. 모든 트래픽을 하나의 서버로 가리키고 로드 밸런서를 활성 모드로 설정할 수 있습니다. 그런 다음 IT 지원 팀은 패시브 서버에서 소프트웨어 업데이트 및 패치를 수행하고 프로덕션 환경에서 테스트하고 모든 것이 제대로 작동하면 서버를 활성 상태로 전환할 수 있습니다.
사전 예방적 장애 감지
로드 밸런싱은 기업이 서버 중단을 감지하고 영향을 받지 않는 서버에 리소스를 분배하여 이를 우회하도록 도와줍니다. 이를 통해 특히 서버가 여러 데이터 센터 및 클라우드 공급자에 분산되어 있는 경우 서버를 효율적으로 관리할 수 있습니다. 잠재적인 트래픽 병목 현상이 발생하기 전에 예측 분석을 사용할 수 있는 소프트웨어 로드 밸런서의 경우 특히 그렇습니다.
DDoS 공격 완화
서버 전체에 트래픽을 분산시키는 로드 밸런서의 기능은 DDoS(Distributed Denial of Service) 공격을 방어하는 데에도 유용합니다. 단일 서버에 과부하가 걸리면 디도스 공격, 로드 밸런서는 트래픽을 다른 서버로 다시 라우팅하고 공격 표면을 줄임으로써 도움이 됩니다. 이러한 방식으로 로드 밸런싱은 단일 실패 지점을 제거하고 이러한 공격에 대해 네트워크를 탄력적으로 만듭니다.
기술로서의 로드 밸런싱은 시간이 지남에 따라 발전해 왔으며 기업이 중단 없는 사용자 경험을 제공하는 중요한 방법으로 계속 사용되고 있습니다. 부하 분산은 다운타임 감소 및 고가용성 감소 IT 팀의 이점 외에도 기업이 리소스를 확장하고 고객 요구 사항을 충족하며 수익을 창출할 수 있는 새로운 기회를 제공합니다.