대부분 네트워크 서비스의 모델

보통 Socket을 경유한 프로세스 통신은 ClientServer모델에 기초한다. 서비스를 제공하는 서버가 있고 이를 이용하는 클라이언트가 있다. 네트워크상의 리소스를 공유하고 관리하는데 유용한 모델이다.

클라이언트의 수가 많아짐에 따라 서버에 부하가 많이 걸린다는 문제점이 있고 다음의 방법들로 해결한다.

2-tier

Client와 server, 어느쪽에 더 무게를 둘것인가에 따라, thin client, fat client로 구분한다. PC이전의 시대에는 thin client 위주의2-tier모델이 주종을 이루었다.

그러나 PC시대에는 데이터영속성을 위해 Database를 서버에 두게 되고, application요구가 다양해지면서 DB SQL처리등의 기능을 client가 갖는 fat client로 변경되었다.

그러다가, application요구 즉 비즈니스룰을 서버가 갖게끔 하는 thin client로 사용자측을 가볍게 하는 쪽으로 발전하게되었으나, 이역시 서버측 병목현상으로 3-tier로 다시발전.

3-tier

3개의 서비스집합으로 나눈다.

  • UserInterface service tier : UI로직을 다루며 클라이언트에 존재

  • Business rule service tier : 비즈니스로직을 처리하는 application서버
  • Data persistence service tier : Database서버

이 방법은 네트워크트래픽이 많아졌다.

n-tier

3-tier에서 데이터를 담당하는 서비스를 데이터와 물리적으로 가깝게 위치시켜 네트워크호출을 최소화

비즈니스룰 서비스티어를 분리함으로써 상당한 유연성을 제공한다. 데이터기반의 비즈니스룰 컴포넌트를 Database서버나 분리된 application서버에 배치하는 일은 EJB를 이용하여 구현할 수 있다.

ClientServer (last edited 2012-04-09 10:36:19 by 61)

web biohackers.net