카테고리 없음
[기술면접 연습]Node.js에서 비동기의 개념
이채야채
2022. 3. 15. 17:23
Node.js는 싱글스레드 기반으로 동작하는 서버.
Node 서버는 비동기 방식으로 요청을 처리하므로 요청을 처리하면서 다음 요청을 받을 수 있다.
Node.js의 비동기 처리는 이벤트 방식으로 풀어낸다. 클라이언트의 요청을 비동기로 처리하기위하여 이벤트가 발생하며
서버 내부에서 메시지 형태로 전달된다. 서버 내부에서는 이 메세지를 이벤트 루프가 처리한다. 이벤트 루프가 처리하는 동안 제어권은 다음 요청으로 넘어가고 처리가 완료되면, 콜백을 호출하여 서버측에 호출완료 상황을 보고한다.
이벤트를 처리하는 이벤트 루프는 싱글 스레드로 이루어져있다. 즉, 요청처리는 하나의 스레드 안에서 처리된다는 의미다.
이벤트 호출 측에는 비동기로 처리되고, 처리자체가 오래걸린다면 전체 서버처리에 영향을 준다.=> 치명적인 약점