기타

Spring webflux 들어가기 전에..

Rumine 2021. 9. 30. 16:16

- 비동기/동기?

 

동기 : 이전 작업이 끝나기 전엔 다음 작업 실행 불가

비동기 : 이전 작업이 끝나기 전에 다음 작업 실행 가능

 

 

- 서버가 동기/비동기?

 

동기 : 하나의 요청을 하나의 쓰레드에 할당

비동기 : 여러 개의 요청을 여러 개의 쓰레드에서 작업

 

 

- 예시

 

1. 동기 서버의 경우

  - 쓰레드풀에 8개의 쓰레드를 할당하였다고 가정하고, 하나의 요청에 대한 응답 시간이 1분이 걸린다고 하였을 때

    1분 내에 8개의 요청이 오게 되면, 쓰레드풀이 꽉 차서 더 이상 요청을 받을 수 없는 상태(Thread pool hell?이라고 부르는듯)가 됨

 

2. 비동기 서버의 경우

  - 쓰레드풀의 개수에 상관없이, 하나의 쓰레드가 여러 개의 요청을 처리하기 때문에 각 요청에 걸리는 시간은 늘어날 수 있지만, 동기 서버와 같이 쓰레드풀이 가득 차서 더 이상 요청을 받을 수 없는 상태가 되지는 않음

'기타' 카테고리의 다른 글

퇴사하면서  (0) 2021.12.30