O0oO0Oo / netty-reservation-service

트랜잭션, 동시성을 공부하기 위한 토이 프로젝트입니다.
0 stars 0 forks source link

fix: remove blocking code #33

Closed O0oO0Oo closed 3 weeks ago

O0oO0Oo commented 3 weeks ago

버그 설명

이전의 #31 의 문제는 블로킹 코드의 존재로 인한 Netty 의 이벤트 루프 스레드 블로킹으로 인해 발생한 문제였다. 1,000 건의 요청이 들어왔을때, 스레드의 상태가 동시에 wait 으로 전환된다. image

해결 방법

  1. 비동기 처리 핸들러 생성.
  2. 비동기 컨트롤러 메서드 매핑 클래스 생성
  3. 블로킹 코드 제거

결과

  1. Netty 의 Worker, EventExecutor 스레드가 블로킹 되지 않음 image

스크린샷

사용 환경

image 위 그림의 사가 코디네이터에서 Promise 의 결과를 get 을 했기때문에 발생했다.

추가적인 정보