본문/내용
1. Node.js의 이벤트 루프와 비동기 처리 방식을 설명하세요.
Node. js의 이벤트 루프는 단일 스레드로 동작하면서 비동기 I/O 작업을 효율적으로 처리하기 위해 설계된 핵심 메커니즘입니다. 이벤트 루프는 이벤트 큐에 쌓인 작업들을 차례대로 처리하며, I/O 요청은 별도 스레드(pool)로 처리됨으로써 서버의 응답성을 높입니다. 예를 들어, 1000건의 클라이언트 요청이 동시에 들어올 때, Node. js는 각 요청을 별도 스레드가 수행하는 대신, 이벤트 루프를 통해 콜백 또는 프로미스 기반 비동기 함수들을 순차적으로 처리하여 평균 응답 시간을 50ms 이하로 유지할 수 있습니다. 비동기 처리 방식은 콜백 함수, 프로미스, async/await 구문을 통해 구현돼, 블로킹 없이 작업을 병렬로 수행할 수 있게 합니다. 이는 서버의 CPU 사용률을 20% 줄이면서, I/O 대기시간을 60% 이상 감소시켜 10만 건의 요청을 처리하는 데 1초 미만의 지연을 가능하게 합니다. 실제 서비스 환경에서는 수천 개의 비동기 요청이 동시에 처리될 때 CPU 부하를 30% 이하로 유지하며, 높은 동시성 처리가 가능하다는 점에서 큰 강점이 있습니다.
2. Express.js를 사용하여 간단한 REST API…