2025-08-29 23:22

Tags: 소프트웨어 공학

서버

  • 24시간 안정적으로 작동하며 클라이언트의 요청을 처리하고 정보를 저장, 전송하는 하드웨어와 소프트웨어의 결합체
  • 네트워크가 점차 커지고 연결된 컴퓨터 수 증가 요청하는 쪽클라이언트 와 서비즈 제공하는 쪽 서버를 역할 분담

하드웨어

부품역할 및 특징비유
CPU두뇌: 수많은 클라이언트의 요청을 동시에 처리하기 위해 여러 개의 코어(Multi-core)를 가진 고성능 CPU를 2개 이상 장착하기도 합니다.유능한 멀티태스커
RAM (메모리)작업 공간: 동시에 여러 작업을 빠르고 원활하게 처리하기 위해 수십, 수백 기가바이트(GB)에 달하는 대용량 메모리를 사용합니다. 오류 자동 수정 기능(ECC)이 탑재된 메모리를 주로 사용합니다.거대한 책상
저장 장치창고: 빠른 데이터 입출력을 위해 여러 개의 HDD나 SSD를 묶어 속도와 안정성을 높이는 RAID 기술을 사용합니다. 데이터의 안전한 보관이 최우선입니다.체계적인 도서관 서고
네트워크 카드출입문: 수많은 요청이 드나드는 통로이므로, 매우 빠른 속도를 지원하는 여러 개의 네트워크 포트를 가집니다.넓은 고속도로 톨게이트
파워 서플라이심장: 안정적인 전원 공급을 위해 전원 공급 장치를 2개 이상 장착하여 하나가 고장 나도 중단 없이 작동하도록 합니다. (이중화)예비 발전기

소프트웨어

  1. 운영체제 (OS, Operating System) 서버의 하드웨어를 관리하고 소프트웨어가 작동할 수 있는 기반을 제공합니다. 안정성과 보안이 매우 중요하기 때문에, 리눅스(Linux) 계열(Ubuntu Server, CentOS 등)이나 윈도우 서버(Windows Server) 같은 서버 전용 OS가 주로 사용됩니다. 이들은 일반 PC용 OS와 달리 화면 그래픽(GUI)보다는 명령어 기반(CLI)으로 작동하여 자원을 아끼고 안정성을 높이는 데 집중합니다.

  2. 서버 프로그램 (데몬/서비스) 실제 ‘서빙’ 기능을 수행하는 핵심 소프트웨어입니다. 어떤 서버 프로그램을 설치하느냐에 따라 서버의 종류와 역할이 결정됩니다.

    • 웹 서버: Apache, Nginx 등. 웹사이트의 HTML, CSS, 이미지 파일 등을 클라이언트(웹 브라우저)에게 전송합니다.
    • 데이터베이스 서버: MySQL, PostgreSQL, Oracle 등. 방대한 데이터를 체계적으로 저장하고, 클라이언트의 요청에 따라 데이터를 검색, 수정, 삭제하는 역할을 합니다.
    • 파일 서버: FTP, Samba 등. 네트워크를 통해 파일을 저장하고 공유할 수 있게 해줍니다.
    • 메일 서버: Postfix, Exchange 등. 이메일을 주고받는 역할을 담당합니다.