반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- type challenge
- 알고리즘
- BFS
- typescript
- 레벨 1
- 문자열
- 크롤링
- javascript
- 가천대
- 백준
- Crawling
- ip
- HTTP
- 수학
- 자바스크립트
- Node.js
- 쉬운 문제
- 타입스크립트
- 프로그래머스 레벨 2
- 소켓
- Algorithm
- HTTP 완벽 가이드
- 그래프
- socket
- 타입 챌린지
- 프로그래머스
- TCP
- dfs
- dp
- Nestjs
Archives
- Today
- Total
kakasoo
[TCP/IP] 다중 접속 서버의 구현 본문
반응형
내 지인 sdworkbase가 나한테 운영체제에 대한 과외를 해줬을 때, 프로세스에 관한 이야기가 나온 적 있었다. 프로세스는 메모리 공간을 차지한 상태에서 실행 중인 프로그램을 지칭하는 말이다. 저장 중인 상태에서는 프로그램이지만, 동작하는 시점에서는 프로세스다.
이런 원리가 갑자기 왜 나오냐면, 내가 만들 서버에서도, 다중 접속을 허용하기 위해 필요하기 때문이다. 프로세스들은 운영체제에 의해서 실행과 멈춤을 반복하게 되는데, 마치 껌벅이는 듯한 이런 모양새 덕분에 컴퓨터는 적은 자원으로 여러 프로그램들을 실행시킬 수 있게 된다.
말하자면, 하나의 서버는 1등부터 100등까지 선착순으로 정보를 제공해주는데, 1등과 100등의 접속 시간 차이가 단 0.5초에 불과한데도 결과에 대한 지연 시간이 너무 큰 폭으로 벌어질 수 있는 반면, 다른 한 서버는 모든 사용자에 대해 다중 접속을 지원하는 것이다.
내가 만들 서버에도 이런 원리를 구현해보도록 하자.
다중 접속 서버의 구현 방법
- 멀티프로세스 기반 서버 // 다수의 프로세스를 생성하는 방식으로 서비스 제공
- 멀티플렉싱 기반 서버 // 멀티 플렉싱 기반 서버
- 멀티쓰레딩 기반 서버 // 클라이언트 수 만큼 쓰레드를 생성하는 방식으로 서비스 제공
나는 이 중 멀티플렉싱 기반 서버를 배워볼 생각인데, 이는 내가 window 기반으로 서버를 만들고 있기 떄문에 그렇다.
물론, 나중에는 배우게 될 것이고, 알게 모르게 전반적인 내용이 언급될 수는 있다.
반응형
'프로그래밍 > 네트워크' 카테고리의 다른 글
[TCP/IP] 멀티 플렉싱 기반의 서버 전체 코드 및 주석 (1) | 2020.07.18 |
---|---|
[TCP/IP] IO 멀티 플렉싱 기반의 서버, 클라이언트 (0) | 2020.07.18 |
[TCP/IP] Domain Name System (0) | 2020.07.18 |
[TCP/IP] TCP 기반의 Half-close (0) | 2020.07.17 |
[TCP/IP] 클라이언트, BUF_SIZE 초과 해결, Buffer에 대하여 (0) | 2020.07.17 |