클라이언트 서버 아키텍처(client server Architecture)

손채윤·2023년 12월 5일

클라이언트 서버 아키텍처(client server Architecture)란?

서버간의 통신을 서버와 클라이언트로 분리시킨 설계방식이다.

이러한 설계방식을 2티어 아키텍처, 또는 클라이언트-서버 아키텍처라고 한다.




서버, 클라이언트, 데이터베이스

  • 클라이언트(client) : 서버로 요청을 보내고, 요청한 내용 응답(리소스)을 받아 사용하는 역할

  • 서버(server) : 클라이언트의 요청에 따라 적절한 응답(리소스)을 전달해주는 곳

  • 데이터베이스 : 리소스를 저장하는 공간(일종의 서버라고 볼수있다).
    서버의 요청에 따라 적절한 응답(리소스)을 꺼내 서버에게 전달한다.





클라이언트와 서버 종류

클라이언트

클라이언트는 보통 플랫폼에 따라 구분한다.

ex)웹사이트(웹,앱), 스마트폰/태블릿용 앱, 데스크탑 앱


서버
서버는 보통 무엇을 하느냐에 따라 구분한다.

ex)파일서버(파일을 제공하는 앱), 웹 서버(웹사이트에서 필요로 하는 정보들을 제공하는 앱), 메일서버(메일을 주고 받을 수 있도록 도와주는 앱), 데이터베이스(데이터베이스도 데이터 제공자로 일하므로 일종의 서버라고 볼 수 있음)




2-Tier 아키텍처

클라이언트와 서버가 요청과 응답을 주고받음

예를들어 클라이언트(손님)이 서버(빵집)에 빵에 대한 정보를 요청하면 서버(빵집)은 받은 요청에 대한 정보를 답장하는 식이다.




3-Tier 아키텍처

기존 2티어 아키텍처에 데이터베이스가 추가된 형태이다.
데이터베이스는 창고와 같은 역할을 하며, 서버는 리소스를 이곳에 저장한다.



2-Tier와 3Tier의 차이

2Tier 아키텍처

  • 단일서버
  • 소수의 사용자
  • 단순한 프로그램 개발에 용이

3Tier 아키텍처

  • 다중 서버
  • 대규모 사용자
  • 프로그램 개발시 시간이 많이 소요

0개의 댓글