최대 1 분 소요

우리가 앱을 사용할 때, 인터넷 연결이 없으면 구매를 못하는 경험을 해봤을 것이다. 만약 쇼핑몰 앱이 있는데, 서버가 존재 하지 않는다면 어떤 문제가 발생할까? 이 경우 새로운 상품 목록을 받기 위해서는 앱 자체를 업데이트를 해야하는 번거로움이 발생할 것이다. 그 외에도 결제 자체를 못하는 문제도 발생하게 된다. 이렇게 빈번하게 데이터 업데이트가 필요한 경우, 리소스가 존재하는 곳리소스를 사용하는 앱을 분리시키는 것이 유리하다.

클라이언트-서버 아키텍처

쇼핑물 앱 같은 경우 상품 목록을 리소스라 부른다. 리소스를 존재하는 곳리소스를 사용하는 앱을 분리시킨 것을 2-Tier 아키텍처라 부르며, 다른말로는 클라이언트-서버 아키텍처라 부른다.

  • 클라이언트 : 리소스를 사용하는 앱
  • 서버 : 리소스를 제공하는 곳

우리는 쇼핑몰 앱에서 클라이언트에 해당한다. 앱에서 특정 상품을 검색을 하는 것을 요청이라 부른다. 앱은 이 요청에 의해서 특정 상품 목록을 보여 주는데 이를 응답이라 부르고, 앱은 서버와 같은 역할을 한다.

이렇게 클라이언트-서버 아키텍처로 구성이 되어 있는데, 서버는 일반적으로 리소스를 전달해주는 역할을 한다. 그렇다면 서버는 데이터는 어디에 담아두는 것일까? 데이터 베이스라는 곳에 리소스를 저장해둔다. 그래서 우리는 2티어 아키텍처에서 데이터베이스가 추가된 형태를 3티어 아키텍처라고 부른다.

댓글남기기