티스토리 뷰

다중 사용자 서버(Multi-user Server)
        : 불특정 다수의 클라이언트로부터 서비스 요청을 처리
- 반복 처리 서버(Iterative Server)
- 동시 처리 서버(Concurrent Server)


> 반복 처리 서버
- 간단하여 개발하기 쉽고 이해하기 쉬움
- 사용자가 많아질 경우 클라이언트가 서비스를 위해 대기할 수 있는 시간이 길어질 수 있음

> 동시 처리 서버
- 다수의 클라이언트로부터의 서비스 요청을 동시에 처리, 공정한 서비스 제공



다중 프로세스 기반의 동시 처리 서버 모델
- 다수 클라이언트의 요청을 처리하기 위해 LINUX환경에서 독립적인 작업 단위이자 시간 공유 기법으로 CPU에 의해 동시에 처리되는 다수의 프로세스를 활용
- 즉, 서버는 클라이언트로부터의 연결 설정 요청을 수락할 때마다 해당 연결을 통한 서비스 처리를 담당할 새로운 프로세스를 생성하고 자신은 또 다른 클라이언트로부터의 연결 요청을 처리
- 이 때 서버 프로세스에 의해 생성되는 새로운 프로세스는 자식 프로세스(Child Process)가 되고 서버 프로세스는 부모 프로세스(Parent Process)가 됨


다중 접속 서버의 구현 방법
- 프로세스 생성을 통한 멀티태스킹 서버의 구현
- select함수에 의한 멀티플렉싱 서버의 구현
- 쓰레드를 기반으로 하는 멀티 쓰레딩 서버의 구현
댓글