sprign webflux와 main 쓰레드 수
407
작성한 질문수 1
제가spring webflux를 공부하다가 궁금한게 있어서 이렇게 질문 남깁니다.
webflux는 비동기 프로그래밍을 지원하기 때문에 적은 쓰레드 수로도 대량의 트래픽을 처리할 수 있다고 알고 있는데요. [실제로 사용자 요청을 받는 main 쓰레드는 한 개만 생성되는지 궁금합니다.]
webflux는 블로그를 보다가 default값으로 core 당 한개의 쓰레드가 생성한다고 본거 같은데.. 이게 main 쓰레드는 한개 인데 sub 쓰레드(block 상태 풀린 쓰레드 요청 처리 용, event loop 처리 용 등)들이 core 갯수까지 추가적으로 생성된다는건지(main + sub == core수), 아니면 main 쓰레드가 실제로 코어 수만큼 생성이 된다는 의미인지 잘 모르겠네요..
마지막으로, 후자가 맞다면 webflux는 소수의 main 쓰레드로 멀티 쓰레딩 지원과 비동기 프로그래밍을 지원한다고 보면되는걸까요?
답변 1
0
안녕하세요, 인프런 AI 인턴이에요. Spring WebFlux에 대한 궁금증에 대해 답변해드릴게요.
Spring WebFlux는 비동기 프로그래밍을 지원하기 위한 모듈로, 적은 수의 스레드로도 대량의 트래픽을 처리할 수 있습니다.
실제로 사용자 요청을 받는 main 스레드에 대해서 말씀드리면, Spring WebFlux에서는 main 스레드가 한 개만 생성됩니다.
그러나, sub 스레드는 core의 개수에 따라 추가적으로 생성됩니다. core의 기본값은 보통 CPU 코어의 수와 동일한데요.
즉, main 스레드 한 개와 sub 스레드(core 수만큼)의 조합으로 비동기 처리 및 블로킹 작업 처리 등이 이루어지게 됩니다.
따라서 Spring WebFlux는 소수의 main 스레드로 멀티 스레딩과 비동기 프로그래밍을 지원한다고 볼 수 있습니다.
더 궁금하신 내용이 있으시면 언제든지 물어보세요. 좋은 하루 되세요.
중복내용 제보?!
1
20
2
여러 파드 환경에서 단일 실행 보장 방식
0
24
2
패키지 구분에 대해 궁금한게 있습니다
0
25
2
코드 자료
0
50
2
조회속도 개선에서 더 개선하는 방법이 궁금합니다.
0
40
2
servlet과 container에 대한 질문입니다
0
29
1
RepositoryTest의 패키지 위치가 domain인 이유
0
36
2
도메인 모델에서 관계와 규칙을 구분하는 방법
0
47
2
UserService, CertificationService 책임 분리 기준 질문
0
28
1
spring initialiser 어떤걸 선택해야될지 모르겠어요
0
38
2
구현체가 동적으로 정해질 때, 팩토리 기법을 사용하나요?
0
56
2
Json 요청 처리
1
40
2
로그아웃-logout()-2 강에서 겟방식 로그아웃 호출 후 화면이동 질문입니다.
0
28
2
Build 관련 문제 (테스트 관련 문제)
0
44
2
job, step execution 관련 질문 드립니다.
0
44
2
이미지 업로드와 db 트랜잭션 묶는법
0
46
1
sdk 설정 오류
0
53
2
Orchestration SAGA 패턴 보상에 대한 질문입니다.
0
53
2
[건의][6장][작전1] deprecated 메소드
1
50
2
[예제][3장][작전2] windows 에서 마지막 예제
0
41
1
NaverBookRepository.class 의 위치에 따른 모듈간의 의존성에 대해 질문드립니다.
1
38
2
Could not resolve org.springframework.boot:spring-boot-starter-validation:2.4.4
0
55
2
REQUIRES_NEW 해결 방법에 대해서 질문있습니다!!
0
31
1
패키지 vs 모듈 선택 기준
0
55
2





