0Pricing
Network+ Academy · 강의

서버 간 부하 분산

서비스가 원활하게 응답하도록 트래픽을 분산하는 방법을 알아보세요.

서버 간 부하 분산은(는) CoddyKit의 무료 Network+ Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Network+ Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Network+ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

부하 분산이란

부하 분산은 들어오는 트래픽을 여러 서버에 분산하여 특정 서버 하나에 부하가 집중되지 않게 하는 것입니다. 하나의 바쁜 서버가 속도를 떨어뜨리는 대신 여러 서버가 작업을 나누므로 성능과 안정성이 향상됩니다. 부하 분산기라고 하는 장치나 서비스가 서버 앞에 배치되어 요청을 여러 서버에 분배하며, 서버 풀을 하나의 빠른 서비스처럼 보이게 합니다.

부하를 분산하는 이유

부하 분산은 확장성과 가용성이라는 두 가지 큰 이점을 제공합니다. 부하 분산기 뒤에 서버를 더 추가하면 증가하는 수요를 처리할 수 있는 용량이 커지고, 서버 하나에 장애가 발생하면 부하 분산기가 해당 서버로 트래픽을 보내지 않으므로 사용자는 계속 서비스를 이용할 수 있습니다. 이를 통해 취약한 단일 서버가 탄력적이고 확장 가능한 서버 풀로 바뀝니다.

부하 분산기의 역할

부하 분산기는 하나의 프런트엔드 가상 IP(VIP)에서 클라이언트 요청을 받은 뒤, 각 요청을 백엔드 서버 중 하나로 전달합니다. 클라이언트는 VIP하고만 통신하므로 그 뒤에 서버가 몇 대 있는지 알지 못합니다. 부하 분산기는 전용 하드웨어 장비일 수도 있고 소프트웨어일 수도 있으며, SPOF가 되는 것을 막기 위해 부하 분산기 자체도 이중화하는 경우가 많습니다.

분배 알고리즘

부하 분산기는 알고리즘을 사용해 서버를 선택합니다. 라운드 로빈은 정해진 순서대로 서버를 번갈아 선택합니다. 최소 연결 방식은 현재 활성 세션이 가장 적은 서버를 선택합니다. 가중치 방식은 성능이 더 높은 서버를 우선합니다. 적절한 알고리즘을 선택하면 트래픽을 서버 용량에 맞게 분배하여 서버 풀이 고르고 효율적으로 사용됩니다.

상태 확인

부하 분산기는 각 서버가 응답하는지 확인하기 위해 지속적으로 상태 확인을 수행합니다. 서버가 확인에 실패하면 복구될 때까지 해당 서버로 요청을 보내지 않습니다. 이 기능 덕분에 부하 분산은 고가용성을 제공하는 도구이기도 합니다. 장애가 난 서버가 자동으로 순환 대상에서 제외되므로 사용자는 작동하지 않는 서버에 연결되지 않습니다.

세션 지속성

일부 애플리케이션은 사용자의 요청이 동일한 서버로 계속 전달되어야 합니다. 예를 들어 해당 서버의 메모리에 저장된 장바구니를 유지해야 할 수 있습니다. 세션 지속성(또는 "고정 세션")은 세션이 유지되는 동안 클라이언트를 하나의 서버에 연결해 둡니다. 이 기능이 없으면 사용자가 서버 사이를 오갈 때 작업 중간에 상태를 잃을 수 있습니다.

4계층과 7계층 비교

부하 분산기는 서로 다른 계층에서 작동합니다. 4계층 부하 분산기는 IP와 TCP/UDP 포트를 기준으로 분배하므로 빠르지만 콘텐츠는 인식하지 못합니다. 7계층 부하 분산기는 HTTP URL 같은 애플리케이션 데이터를 읽어 지능적인 라우팅을 수행합니다. 예를 들어 /images를 한 풀로, /api를 다른 풀로 보낼 수 있습니다. 7계층 방식은 더 강력하지만 요청마다 더 많은 작업을 수행합니다.

SSL/TLS 오프로딩

부하 분산기는 흔히 SSL/TLS 오프로딩(종료)을 수행합니다. 즉, 클라이언트와의 암호화 작업을 담당하고 트래픽을 복호화하여 백엔드 서버가 이 작업을 수행하지 않아도 되게 합니다. 그 결과 서버 CPU를 애플리케이션에 사용할 수 있고 인증서 관리도 부하 분산기에 중앙 집중화할 수 있습니다. 이것이 조직에서 웹 서버 앞에 지능형 7계층 부하 분산기를 배치하는 일반적인 이유입니다.

이중화된 부하 분산기

모든 트래픽이 하나의 부하 분산기를 통과하면 해당 부하 분산기가 단일 장애 지점이 됩니다. 따라서 부하 분산기는 쌍으로 배포하며, 액티브-액티브 또는 액티브-패시브 구성으로 서로 장애 조치를 수행하게 합니다. 가용성을 제공하는 도구 자체도 높은 가용성을 갖추어야 합니다. 이중화된 부하 분산기 쌍은 전체 프런트엔드의 탄력성을 유지합니다.

클라우드에서의 부하 분산

클라우드 제공업체는 수요에 따라 자동으로 확장되는 관리형 서비스로 부하 분산을 제공합니다. 자동 확장 서버 그룹과 결합하면 클라우드는 부하에 따라 부하 분산기 뒤의 서버를 추가하거나 제거한 뒤, 실행 중인 서버 전체에 트래픽을 분산할 수 있습니다. 이러한 탄력적 모델은 클라우드 애플리케이션이 규모가 크고 변동이 심한 트래픽을 원활하게 처리하는 주요 이유입니다.

부하 분산과 HA의 결합

부하 분산과 이중화는 성능과 고가용성을 위해 긴밀하게 함께 작동합니다. 이중화는 여유 용량과 구성 요소를 제공하고, 부하 분산은 그 용량을 적극적으로 사용하여 작업을 분산하고 실시간으로 장애를 우회합니다. 두 기능을 함께 사용하면 개별 서버에 장애가 발생해도 서비스가 높은 부하에서 빠른 속도와 가동 상태를 유지할 수 있습니다. 이는 탄력적인 설계의 핵심입니다.

빠른 확인

부하 분산에 대한 지식을 확인해 보십시오.

복습

부하 분산을 배웠습니다. 핵심 내용:

  • 확장성과 가용성을 위해 서버 전체에 트래픽을 분산합니다.
  • 클라이언트는 가상 IP에 연결하고, 부하 분산기가 백엔드 서버를 선택합니다.
  • 알고리즘에는 라운드 로빈, 최소 연결, 가중치 방식이 있습니다.
  • 상태 확인은 장애 서버를 제외하고, 지속성은 세션을 특정 서버에 고정합니다.
  • 4계층과 7계층 방식이 있으며, 부하 분산기 자체도 이중화합니다.

자주 묻는 질문

“서버 간 부하 분산” 강의는 무료인가요?

네 — “서버 간 부하 분산” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Network+ Academy 강의 전체를 잠금 해제할 수 있습니다. Network+ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“서버 간 부하 분산”에서 뭘 배우나요?

서비스가 원활하게 응답하도록 트래픽을 분산하는 방법을 알아보세요. 브라우저에서 직접 실행하는 실습 코드로 Network+ Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Network+ Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Network+ Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“서버 간 부하 분산” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Network+ Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Network+ Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 중복성 및 장애 조치 설계
  2. 서버 간 부하 분산
  3. 핵심 트래픽을 위한 서비스 품질
  4. 시험을 위한 종합 정리
← Network+ Academy(으)로 돌아가기