su-mmer 2023. 11. 15. 17:05
728x90

서버(server)

[서버의 사전적 정의]
1. 식당에서 음식과 음료를 가져오는 사람, 웨이터 또는 웨이트리스
2. 네트워크를 통해 다른 컴퓨터에서 사용되는 파일과 서비스를 제공하는 메인 컴퓨터
3. 테니스, 배구 등의 경기에서 공을 서브함으로써 경기를 시작하는 선수
출처: Merriam Webster's Learner's Dictionary

 

서버는 serve(제공하다)+er(~을 하는 사람)의 합성어이다. 무언가를 제공하는 것(컴퓨터)이다.

서버라는 용어는 원래 '특정 역할에 특화된 것'을 의미한다.

레스토랑의 웨이터를 서버라고도 한다. 웨이터의 역할은 주문 접수나 음식을 내오는 것에 특화돼 있으며 요리는 하지 않는다.

서버라는 용어는 컴퓨터 자체(하드웨어)를 가리키는 경우도 있고, 컴퓨터에서 동작하고 있는 소프트웨어를 가리키는 경우도 있다.

서버는 클라이언트에게 정보나 서비스를 제공하는 역할을 한다.

 

서버를 어떻게 구성할지에 대한 여러 아키텍처가 있으며 각 아키텍처는 장단점을 모두 갖고 있기에 필요에 따라 사용할 수 있어야 한다.

 

집약형 아키텍처(Monolithic)

  • 특징
    • 장비 고장으로 업무가 중단되면 안 됨 → CPU 등 컴퓨터 부품의 다중화
    • 서로 다른 처리에 영향이 없는 멀티 업무의 필요 → 리소스 관리
  • 장점
    • 한 대의 대형 컴퓨터로 구성하므로 간단함
  • 단점
    • 대형 컴퓨터의 도입 비용과 유지 비용이 비쌈
    • 확장성에 한계

분할형 아키텍처(Micro Service)

  • 특징
    • 대형 컴퓨터의 처리를 다수의 소형 컴퓨터로 분할하여 조합해 하나의 시스템 구축
    • 분할형 아키텍처 = 오픈 시스템 = 분산 시스템
    • 서버 분할 방식 ⇒ 수직형/수평형
  • 장점
    • 소형 컴퓨터의 비용이 압도적으로 저렴하므로 상대적으로 낮은 비용
    • 서버의 확장 가능 ⇒ 저렴한 컴퓨터를 여러 대 사용하여 안정성 확보
  • 단점
    • 서버 수가 늘어나면 관리 구조가 복잡해짐
    • 한 대가 망가지면 영향 범위를 최소화하기 위해 서버 별 역할 분리 필요

분할 방식: 역할 분담 → 각각의 서버가 전혀 다른 작업을 하는 것인지, 비슷한 작업을 하는 것인지

 

수직형 아키텍처에서 '확장에 한계가 있음'이란

다른 서버 사다가 두 개 이어 붙이면 안 되나 → 이게 바로 수평형 확장

수직형 확장 만을 생각하면 서버 한 대에 부품을 무한대로 늘릴 수도 없고 비용도 문제가 된다.

그렇기 때문에 수직+수평형을 같이 써야한다.

 

고찰

서버의 이름의 뜻에 대해 언젠가 본 것 같다. 공부하면서 본 적이 없을리가 없다.

그런데 스스로 서버라는 이름의 뜻에 대해 생각하며 공부한 적이 없다.

이유는 그 때 당시에 와닿지 않아서, 그리고 흘려들어서인 것 같다,,

지금보니까 이제서야 뭔가 깨닫는 것이 있어 뒤늦게 정리를,,헿ㅎ,,

처음 배울 때 보게 되는 기초 개념들은 추후에 어느 정도 공부를 하고 다시 봤을 때 이해가 더 잘 되는 것 같다.

728x90