Nitro는 Tomcat과 비교하면 훨씬 경량화된 서버 환경으로, 특히 서버리스와 엣지 컴퓨팅 환경에 맞춰져 있다는 점에서 큰 차이가 있습니다. Tomcat은 전통적인 웹 애플리케이션 서버(WAS)로, Java Servlet 기반의 요청/응답 파이프라인을 유지하고 있으며, 스레드 풀 관리, 세션 관리, 컨텍스트 간 통신, JSP 컴파일 등 다양한 기능을 포함합니다.

이에 반해 Nitro는 단일 스레드 이벤트 루프를 기본으로 하며, 주요 초점은 빠르고 유연한 배포입니다.

Nitro의 내부 작동 방식과 주요 요소

  1. 라우팅과 요청 처리

    실제 파일시스템을 유지하면서 거기서 핸들러에 요청하는거였다니…

    그리고 내부에 핸들러가 있긴 한가보다…

    이게 가장 큰 차이일듯. 자바진영과 node진영의 가장 큰 차이이기도 하다. 멀티 쓰레딩 환경이 아니라서 컨테이너나 싱글톤 이런 이야기가 이 진영에선 안나오는 걸지도…

  2. 서버리스와 엣지 네트워크 지원

    서버리스 아키텍쳐는 진짜 서버가 없다는게 아니라, 개발자가 서버를 생각할 필요 없다는 의미임. 서버관리와 확장을 지가 알아서 하겠다는 느낌…

    요청이 필요할때 필요한 리소스를 호출한다는건 지연로딩을 말하는듯. 서버가 소스코드 빌드할때 모든 소스코드를 다 가져가는게 아니라 리소스가 필요할때 빌드해서 제공하는 방식…?

  3. 빌드 및 배포 방식

  4. 미들웨어와 확장성

    미들웨어가 필터와 대응된다는건 역시 맞는 아이디어인듯…

    다만 필터는 동기적으로 동작함. 하지만 미들웨어는 비동기로 동작한다.

  5. 리스소 관리와 로드 균형

핵심 요약

이러한 차별화 요소는 Nitro가 Tomcat 같은 전통적인 WAS 서버와 달리, 서버리스와 클라우드 기반의 확장성과 민첩성에 최적화된 서버 솔루션임을 보여줍니다.

상태관리

상태 관리: