Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CS 다시 살펴보기 #154

Open
skarltjr opened this issue Apr 20, 2023 · 0 comments
Open

CS 다시 살펴보기 #154

skarltjr opened this issue Apr 20, 2023 · 0 comments

Comments

@skarltjr
Copy link
Owner

동시성과 병렬성

  • img1 daumcdn-1
  • img1 daumcdn-2
동시성 : 
마치 동시에 여러 프로세스가 처리되는것처럼 보이지만 실제론 하나의 cpu를 활용해
여러 프로세스를 번갈아가며 처리

병렬성 : 
실제로 여러 코어를 활용하여 여러 프로세스를 동시에 처리

비동기 / 논블로킹

  • img1 daumcdn-3

I/O 멀티플렉싱

  • img1 daumcdn-4
멀티플렉싱 (다중화)는 여러 신호를 하나로 묶어서 전달하는 기법
이를 활용하면 한정된 채널을 효율적으로 사용할 수 있게되는데
대표적인 예시가 http2.0
  • img1 daumcdn-5
기존에는 3개 데이터 전송을 위해 3개 tcp 커넥션이 필요했다면
여러 신호를 묶어서 전달하는 기법인 멀티플렉싱을 통해 하나의 커넥션 활용
하지만! 

만약 데이터가 굉장히 많다거나 연속적일때는 적합하지 않을 수 있다.
일반적으로 
- 클라이언트와 서버간 송수신 데이터 용량이 작은 경우 적합
- 송수신이 연속적이지 않은 경우에 적합
- 멀티 프로세스 기반에 비해 많은 수의 클라이언트 (nginx, webflux, nodeJs)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant