네트워크에 존재하는 모든 컴퓨터나 프로세스는 클라이언트 서버 구조에서 서버 또는 클라이언트의 역할을 할 수 있다. 클라이언트는 서버에 요청하는 모든 컴퓨터를 말하며 개인용 컴퓨터를 사용하여 앱을 실행하고 서버는 클라이언트의 요청을 이행하기 위해 만들어진 컴퓨터로 장비, 파일 및 처리 능력 등의 리소스를 공급한다.
클라이언트 서버 구조의 구성 요소
클라이언트 서버 구조가 작동하기 위해서는 다음 세 가지의 구성 요소를 필요로 한다. 첫 번째로 워크스테이션은 종종 클라이언트 컴퓨터로 알려져 있다. 워크스테이션 운영 체제에는 Windows 2000, Windows XP, Windows Vista 및 Windows 7이 포함된다. 이들의 작업과 과정은 주로 클라이언트 컴퓨터를 위해 제작이 되었고 서버 운영체제에 비해 저렴한 가격이다. 이는 수많은 컴퓨터의 요청을 처리하거나 많은 수의 컴퓨터가 보내오는 데이터를 저장할 필요가 없기 때문에 메모리나 하드 드라이브 공간, CPU의 성능 등의 면에서 서버보다 기술 요구사항이 적기 때문이다. 두 번째 구성요소는 서버이다. 서버에는 Windows 2000 Server, Windows 2003, Windows 2008 등의 운영체제가 있다. 개인 컴퓨터들에서 보내오는 많고, 동시적인 요청들을 보유하고 처리해야 하기 때문에 클라이언트 운영체제에 비해 메모리와 하드 드라이브의 공간이 더 많다. 또한 컴퓨터의 속도 역시 더 빠르다. 잘 설계된 네트워크는 성능을 최적화하기 위해서 도메인 컨트롤러, 파일 서버, 메일 서버, 데이터베이스 서버와 같은 네 가지 역할을 다양한 곳에 분산하여 할당한다. 마지막 구성 요소는 네트워킹 장치이다. 이들의 각 장치는 작동 시 고유한 속성 집합을 가진다. 허브는 서로 다른 서버를 연결하는 데 사용되며 리피터는 한 장치에서 다른 장치로의 데이터 전송에 사용된다. 또한 격리되어 있는 네트워크의 분할을 위해 브리지가 사용된다.
4가지로 나누어지는 유형
4가지의 유형에는 1 계층, 2 계층, 3 계층, n계층이 있다. 1 계층의 경우 모든 사용자 인터페이스 환경, 클라이언트 서버 설치 설정 및 데이터 논리 시스템과 마케팅 논리 시스템이 동일한 시스템 안에 존재한다. 때문에 신뢰할 수 있다는 장점이 있지만 여러 변수의 모든 데이터를 포함하고 있기 때문에 전체 작업을 복제를 위해 할당된 작업을 처리하는 경우 매우 어렵다. 2 계층의 경우 사용자 인터페이스는 클라이언트 시스템에 저장되며 서버 컴퓨터에는 모든 데이터베이스를 저장한다. 이는 최적의 환경을 제공해 줄 수 있으며 사용자의 요청이 있을 경우 클라이언트와 서버 장치가 직접 통신을 하기 때문에 가장 빠른 속도를 자랑한다. 때문에 최고의 성능과 단순성, 사용자 만족도 등의 여러 장점들이 있다. 3 계층의 경우 미들웨어가 추가적으로 필요하다. 사용자가 서버에 요청을 하면 중간 계층에서 먼저 수신을 한 후 서버 측으로 전달한다. 미들웨어는 비즈니스와 데이터 로직을 보관하고 있으며 유연성을 높여주며 최고의 성능을 제공하기 위해 사용된다. 3 계층은 프레젠테이션 계층, 애플리케이션 계층, 데이터베이스 계층으로 구분된다. n계층의 경우 다중 계층이라고도 부르며 접근 방식이 3단계로 확장된 버전이다. P2P 시스템에 비해 개발 비용이 더 많이 들고 중앙 파일 서버가 필요하다는 단점이 있지만 더 강력한 보호를 제공하고 있기 때문에 환경에 따라 선택할 수 있다.
특징
클라이언트에서 서버로 요청을 보내고 응답으로 데이터를 반환하는 요청 및 응답 과정은 이 구조를 더 강화해준다. 또한 이들 장치가 서로 간단히 통신할 수 있도록 공통적으로 접촉하는 프로토콜을 사용하고 있는데 모든 데이터 전송 프로토콜은 애플리케이션 계층에서 사용할 수 있다. 또한 서버에서 한 번에 처리할 수 있는 클라이언트의 요청은 제한적이지만 모든 요청에 응답하기 위해 우선순위를 두고 응답을 진행한다. 서비스 거부 공격이라는 것은 중복되는 요청을 통해 서버를 공격하는 방식으로 이는 정당한 요청에 대한 응답을 어렵게 만들게 된다. 이 구조는 고정되어 있지 않고 확장이 가능한데 확장성은 이 시스템의 아주 중요한 기능이다. 가로 또는 세로로의 크기 조정이 가능하며 수평 확장은 성능에는 거의 영향을 미치지 않으면서 추가 또는 제거하는 것을 의미하며 수직 확장은 더욱 강력한 서버로 업그레이드하는 방식을 말한다.
댓글