개요

다양한 종단 시스템에서 어떻게 조직되는지 지시한다. 많은 애플리케이션 구조가 있지만 그중 클라이언트-서버구조 혹은 P2P 구조가 널리 쓰인다.

클라이언트-서버

서버는 클라이언트의 많은 접속 요청을 받는다. 클라이언트 호스트는 가끔 혹은 항상 켜져 있을 수 있다. 예를 들어 웹 호스팅은 클라인언트 호스트로부터 객체를 요청받으면 웹 서버는 그 객체에 대한 응답을 보내주게 된다. 클라이언트는 직접 통신하지 않으며, 서버를 거쳐서 통신할 수 있다. 클라이언트 서버 구조는 서버가 고정 IP 주소라는 잘 알려진 주소를 같는 다는 특징이 있다. 때때로 클라이언트-서버 애플리케이션에서 하나의 서버 호스트가 자신의 클라이언트의 모든 요청에 응답하는 것은 불가능 하다. 이러한 이유를 한 아이피에 많은 컴퓨터를 연결하여 데이터 센터를 만들기도 한다. 이런식으로 서버는 다중 접속자의 호스트에 응답할 수 있게 된다.

단점

만약 중앙의 서버의 서비스가 거부되면, 모든 것이 안된다. 따라서 대부분 백업 서버를 가진다. 예를 들어 은행은 백업 카피를 최소 3개 다른 지역에 보관한다.

P2P 구조

항상 켜져 있는 기반구조 서버에 최소로 의존한다. 대신에 애플리케이션은 피어라는 간헐적으로 연결된 호스트쌍이 서로 직접 통신하도록 한다. 피어는 서비스 제공자가 소유하지 않고, 사용자들이 제어하는 데스크톱과 랩톱이다. 특정 서버를 통하지 않고 피아가 직접 통신을 함으로 이러한 구조를 Pear to Pear P2P 구조라 한다. P2P 구조의 가장 주목할 만한 특성중 하나가 자가 확장성이 있다는 것이다. 예를 들어 P2P 파일 공유 애플리케이션에서 각 피어들은 파일을 서로 나눔으로써 시스템에 서비스 능력을 추가한다. P2P 구조는 대형화된 서버 기반구조와 서버 대역폭을 요구하지 않는다.

단점

고도의 분산구조로 인한 특징으로 인해, 보안, 성능, 그리고 신뢰성에 커다란 도전을 맞고 있다.