WEB BE/배포 및 운영

백엔드 개발자를 위한 서버, 프록시 서버, 로드 밸런싱 면접 질답

조금씩 차근차근 2025. 3. 10. 15:32

웹 서버와 애플리케이션 서버의 차이점은 무엇인가요?

  • Web Server
    • 정적 파일(HTML, CSS, JS, 이미지 등) 처리에 최적화된 서버
    • 요청을 받아 즉시 정적 자원을 반환하기 때문에 단순하고 빠른 처리를 제공
    • 클라이언트의 요청이 복잡하지 않을수록 웹 서버만으로도 충분히 대응 가능함
  • WAS(Application Server)
    • 비즈니스 로직을 처리하고, 동적 콘텐츠를 생성하는 서버
    • 요청에 따라 데이터베이스 연동, 세션 관리 등 다양한 기능을 수행
    • 복잡하고 동적인 로직이 필요한 경우, WAS를 통해 효율적으로 구현 가능함

서버 확장 방식인 수직적 확장(Scale-up)과 수평적 확장(Scale-out)의 차이점과 각각의 장단점은 무엇인가요?

  • Scale-up(수직적 확장)
    • 서버 자체의 성능(CPU, 메모리 등)을 높여 처리 능력을 향상
    • 장점
      • 단일 서버로 운영하기 때문에 관리가 비교적 간단함
      • 데이터나 세션 관리가 한 곳에서 이루어져 구조가 단순함
    • 단점
      • 단일 장애 지점(SPOF, Single Point of Failure) 위험이 큼
      • 하드웨어 성능을 무한정 높이기 어렵고 비용이 급등함
  • Scale-out(수평적 확장)
    • 동일하거나 유사한 서버를 여러 대 추가해 부하를 분산
    • 장점
      • 원하는 만큼 서버를 추가하여 처리 능력을 증대할 수 있음
      • 물리적·지역적 분산 배치로 장애 발생 시 영향이 줄어듦
    • 단점
      • 여러 서버 간 세션이나 데이터 동기화가 필요해 복잡도가 높아짐
      • 초기 구성과 운영 비용이 분산되어 있지만, 전체적인 인프라 관리가 까다로울 수 있음

서버 부하 분산(Load Balancing)이란 무엇이며 어떤 방식으로 구현할 수 있나요?

  • 서버에 들어오는 트래픽을 여러 서버 또는 인스턴스에 고르게 분산하는 기법을 의미
  • 적절한 부하 분산은 서버 과부하를 방지하고, 서비스의 안정성과 성능을 유지하는 데 중요함
  • 하드웨어 기반 LB
    • 별도의 전용 장비(예: F5, Citrix 등)를 이용하여 부하를 분산
    • 일반적으로 L4 레벨(네트워크 레벨)에서 트래픽을 분산해 빠른 처리가 가능
    • 초기 장비 비용이 높을 수 있으나, 성능이나 안정성이 뛰어남
  • 소프트웨어 기반 LB
    • Nginx, Apache, HAProxy 등 소프트웨어를 사용하여 부하를 분산
    • L4와 L7 계층 모두 지원 가능
    • 유연하고 확장성이 높지만, 운영 환경에 따라 튜닝이 필수적임
  • DNS 기반 분산
    • DNS 라운드 로빈 방식을 사용해 여러 서버 IP로 분산
    • 주로 L7 레벨(애플리케이션 레벨)에서 트래픽이 분산된다고 볼 수 있으나, 실제로는 DNS가 IP를 단순 변경하는 방식
    • 트래픽 분산 제어가 세밀하지 못해, 서버 다운 시 자동으로 트래픽을 우회하기 어렵다는 단점이 있음

리버스 프록시와 포워드 프록시의 차이점과 용도는 무엇인가요?

  • 포워드 프록시(Forward Proxy)
    • 내부 클라이언트가 외부 서버에 접근할 때, 대신 요청을 전달해 주는 중개 서버
    • 주로 보안, 익명성 보장, 캐시 활용 등을 위해 사용
    • 클라이언트 입장에서 접근하려는 서버의 실제 정보가 노출되지 않음
  • 리버스 프록시(Reverse Proxy)
    • 외부 클라이언트의 요청을 받아, 적절한 백엔드 서버로 전달하는 중개 서버
    • 주로 로드 밸런싱, SSL 종료(Offloading), 서버 IP·포트 숨김 등의 목적
    • 서버 군(Server Pool)을 추상화하여 외부에는 하나의 서버처럼 보이도록 함

서비스 규모가 커질수록 서버 아키텍처 설계의 중요성은 더욱 부각된다. 단순 정적 파일만 제공하던 소규모 웹 사이트라도 확장과 부하 분산 전략이 필요해지는 순간이 오기 마련이다. 그때를 대비해 수직적·수평적 확장 방식을 적절히 활용하고, 부하 분산 및 프록시 서버의 개념을 충분히 숙지해두면 안정적인 서비스를 제공할 수 있다.

'WEB BE > 배포 및 운영' 카테고리의 다른 글

CI/CD 와 무중단 배포  (0) 2025.03.10