서버 클라이언트 통신 예제

서버 클라이언트 통신 예제

수년 전, 개인용 컴퓨터가 구형 메인프레임 컴퓨터의 대안이 됨에 따라 클라이언트-서버 네트워킹이 인기를 얻었습니다. 클라이언트-서버 네트워킹은 클라이언트 하드웨어 장치와 서버를 모두 사용하는 컴퓨터 네트워킹 모델을 말하며, 각 모델은 특정 기능을 사용합니다. 클라이언트 서버 모델은 인터넷뿐만 아니라 LAN(로컬 영역 네트워크)에서도 사용할 수 있습니다. 인터넷의 클라이언트 서버 시스템의 예로는 웹 브라우저와 웹 서버, FTP 클라이언트 및 서버, DNS등이 있습니다. 일반적으로 SQL(구조화 쿼리 언어) 또는 RPC(원격 프로시저 호출)는 클라이언트와 서버 간에 통신하는 데 사용됩니다. [4] 클라이언트-서버 아키텍처에는 여러 가지 유형이 있습니다. 아키텍처 중 하나는 클라이언트가 서버에 직접 연결되는 2계층 아키텍처입니다. 이 아키텍처는 응용 프로그램 개발 속도가 양호하며 사용자 채우기 작업이 작은 경우 균일한 환경에서 잘 작동합니다. 이 아키텍처에 문제가 있는 것은 이 모델에서 응용 프로그램 논리 및 처리의 분포입니다. 응용 프로그램 논리가 수십 개의 클라이언트 시스템에 배포되면 응용 프로그램 유지 관리가 매우 어려워집니다. 두 개의 묶인 아키텍처의 한계를 극복하기 위해 3계층 아키텍처가 도입됩니다. 중간 계층을 도입하면 클라이언트는 데이터 서버에 직접 연결하는 대신 응용 프로그램 서버에만 연결됩니다.

이렇게 하면 연결을 유지하는 부하가 제거됩니다. 데이터베이스 서버는 저장소를 관리하고 데이터를 잘 검색할 수 있습니다. 따라서 응용 프로그램 논리 및 처리는 모든 응용 프로그램에서 체계적으로 처리할 수 있습니다. 세 계층 아키텍처를 향상시키기 위해 중간 계층이 다양한 유형의 서비스에 대한 연결을 제공하고 클라이언트와 서로 통합하는 경우 N 계층으로 확장할 수 있습니다. 예를 들어 웹 서버가 3계층 아키텍처에 추가되어 웹 서버가 응용 프로그램 서버와 클라이언트 간의 연결을 처리하는 4계층 아키텍처가 됩니다. 따라서 더 많은 사용자가 동시에 처리 할 수 있습니다. [5] 클라이언트 서버 컴퓨팅에서 클라이언트는 리소스를 요청하고 서버는 해당 리소스를 제공합니다. 클라이언트가 하나의 서버와만 접촉하는 동안 서버는 동시에 여러 클라이언트를 제공할 수 있습니다. 클라이언트와 서버는 일반적으로 컴퓨터 네트워크를 통해 통신하지만 때로는 동일한 시스템에 상주할 수 있습니다. 인터넷에서 가장 인기 있는 응용 프로그램 중 일부는 전자 메일, FTP 및 웹 서비스를 비롯한 클라이언트 서버 모델을 따릅니다.

이러한 각 클라이언트는 그래픽 또는 텍스트 기반의 사용자 인터페이스와 사용자가 서버에 연결할 수 있는 클라이언트 응용 프로그램을 제공합니다. 전자 메일 및 FTP의 경우 사용자는 인터페이스에 컴퓨터 이름(또는 IP 주소)을 입력하여 서버에 대한 연결을 설정합니다. 이 예제에서는 클라이언트-서버 모델에 적용할 수 있는 디자인 패턴: 문제 분리를 보여 줍니다. 인터넷 초기에 는 대부분의 네트워크 트래픽이 웹 콘텐츠를 요청하는 원격 클라이언트와 콘텐츠를 제공하는 데이터 센터 서버 사이에 있었습니다. 이 트래픽 패턴을 남북 트래픽이라고 합니다. 오늘날 가상화와 클라우드 컴퓨팅이 성숙해짐에 따라 네트워크 트래픽은 동서 트래픽이라고 하는 서버 간 패턴이 될 가능성이 높습니다. 이로 인해 네트워크 경계를 보호하도록 설계된 중앙 집중식 보안 모델에서 서비스 및 데이터에 대한 개별 사용자 액세스를 제어하고 해당 동작을 감사하는 데 중점을 둔 분산 보안 모델로 관리자 초점이 변경되었습니다. 정책 및 규정을 준수할 수 있도록 보장합니다.