단일 서버 시스템 설계

eomprgrm·2023년 4월 12일
0

'가상 면접 사례로 배우는 대규모 시스템 설계 기초'를 읽고 작성한 글이다.

1. 서버를 이루는 구성 요소

서버는 다음과 같은 구성 요소들이 존재한다.

  • 하드웨어
    - CPU, RAM, 저장장치, 네트워크 인터페이스 등
  • 운영체제
    - Window, Linux, MAC 등
  • 웹 서버
    - Apache, Nginx 등
  • 어플리케이션 서버
    - Tomcat, JBoss, Node.js 등
  • 데이터베이스
    - MySQL, PostgreSQL 등
  • 보안
    - 방화벽, SSL 인증서, 사용자 인증 등

2. 단일 서버란

웹 애플리케이션의 모든 컴포넌트가 단 한 대의 서버에서 실행되는 간단한 시스템이다.
앞서 1번의 서버를 이루는 구성 요소들이 모두 한 대의 컴퓨터에 존재한다.
보통 사용자 규모가 굉장히 적은 상황에서 사용된다.

3. 단일 서버에서의 HTTP 요청 처리 흐름

1) 사용자는 도메인 주소를 입력하여 검색한다. (DNS에 질의)
2) DNS (Domain Name Service)에서 해당하는 IP주소를 찾아 사용자에게 반환한다.
3) DNS로부터 받은 IP주소에게 HTTP 요청을 보낸다.
4) 요청을 받은 서버는 HTML 페이지나 JSON 형태의 응답을 반환한다. (이 때 한 대의 서버에서 모든 작업을 처리하고 있다.)

profile
오늘의 학습을 기록하는 공간

0개의 댓글