웹 서버와 애플리케이션 서버의 차이점은 무엇인가요?
- 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 |
---|