본문/내용
1. Node.js의 이벤트 루프가 무엇이며 어떻게 동작하는지 설명해보세요.
Node. js의 이벤트 루프는 비동기 I/O 작업을 효율적으로 처리하기 위해 만들어진 단일 스레드 기반의 비동기 이벤트 처리 시스템입니다. 이벤트 루프는 호출 큐, 태스크 큐, 마이크로태스크 큐 등 여러 큐를 순차적으로 확인하며 이벤트와 콜백 함수를 처리하는 역할을 수행합니다. 구체적으로, Node. js가 시작되면 이벤트 루프는 먼저 호출 스택이 비어 있는지 확인하고, 비어 있다면 큐에서 대기 중인 작업을 하나씩 가져와 실행합니다. 예를 들어, 100만 건의 비동기 요청이 발생했을 때, 이벤트 루프는 이 요청들을 비동기적으로 처리하여 평균 응답 시간이 15ms 이하로 유지할 수 있습니다. 이는 Node. js가 싱글 스레드임에도 불구하고, 이벤트 큐와 비동기 구조 덕분에 수천 개의 요청을 동시에 처리할 수 있기 때문입니다. 또한, 이벤트 루프가 매 반복마다 I/O 완료 여부를 체크하면서 CPU 사용률을 적절히 조절하여, 높은 요청 부하 조건에서도 CPU 사용률이 평균 70~80% 내외로 유지되며 서버의 안정성을 보여줍니다. 이렇게 이벤트 루프는 비동기 이벤트 처리와 효율적인 콜백 관리로…