아키텍쳐를 디자인하다 보면 이냐 이냐에 대한 질문을 까끔 듣습니다.


이는 보통 개발자들에게서 많이 듣는 질문이기도 한데요. 왜냐하면 J2EE 어플리케이션이 또는 로 구분되기 때문입니다.


아래는 의 사례입니다.

2-Tier 아키텍쳐와 3-Tier 아키텍쳐의 다른점

위에서 보시면 클라이언트가 비즈니스로직과 데이터베이스로직, 그리고 UI까지 다 가지고 있는 구조라고 할 수 있습니다. 위의 그림상에서 보면 다음의 두개 티어(Tier)로 구성되어져 있다고 보면 맞습니다.

  • 클라이언트 어플리케이션 (Client Tier)
  • 데이터베이스 (Data Tier)


이 아키텍쳐의 장점은 아래와 같습니다.

  • 유지보수가 쉽다
  • 커뮤니케이션이 빠르다


단점이라고 한다면

  • 사용자 수가 증가하면 어플리케이션의 퍼포먼스도 떨어진다
  • 비용 대비 비효율적이다


()는 우리가  이미 많이 접해 본 구조라고 할 수 있는데 그 구성을 보면 아래와 같습니다.


2-Tier 아키텍쳐와 3-Tier 아키텍쳐의 다른점


즉, 아래와 같은 3단계 레이어로 구성이 됩니다.

  • 클라이언트 레이어
  • 비즈니스 레이어
  • 데이터 레이어


장점이라고 한다면 다음과 같습니다.

  • 가볍우면서 고성능의 컴포넌트 구현 가능
  • 확장성이 좋다
  • 퍼포먼스가 좋다 – 각각의 티어가 캐시 개념을 가져갈 수 있어 성능 개선 가능
  • 재사용 가능하다
  • 데이터 정합을 개선할 수 있다
  • 보안을 강화 할 수 있다 – 클라이언트가 DB를 직접 건드리지 못하므로
  • 비즈니스로직과 UI를 분리할 수 있다
  • 비즈니스를 세분화하여 쪼갤 수 있다
  • 유지보수가 쉽다
  • 관리하기가 쉽다
  • 각각의 컴포넌트의 의존도를 낮출 수 있다


단점이라면 복잡도가 늘어난다는 것?


요즘은 클라이언트에서 DB에 직접 접속하여 어플리케이션을 구현하는 경우가 거의 없으므로 내지는 로 소프트웨어가 구현되고 있다고 보는 것이 맞을 것 같습니다.



facebook posting twit

  • 자연어처리(NLU)를 하기 위한 소프트웨어 아키텍쳐 – 걸음마단계부터 인간 수준으로 진화하는 방향에 대해 알아본다
  • 구글 머신러닝 솔루션 텐서플로(Google Machine Learning – TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼
  • EIDR(Entertainment IDentifier Registry) – 콘텐츠 ID 표준화를 이끄는 미디어/엔터테인먼트 서비스 연관 국제 표준 단체
  • 집단지성을 활용하는 Collaborative Filtering(CF) 알고리즘 – 추천 알고리즘으로 많이 이용되고 있지만, 한계도 알아야 해
  • 서버 인프라 설계시 장애를 고려하여 만드는 Single Infra, Active-Stand-by,Active-Active, Active-Stand-by/Active-Active+DR Center
    Tagged on:                             
  • Leave a Reply