반응형
1). Node.js 정의
위키백과 =>
더보기
Node.js는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다. 작성 언어로 자바스크립트를 활용하며 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다. 내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능하며 이를 통해 웹 서버의 동작에 있어 더 많은 통제를 가능케 한다.
2). Nodejs를 어디에쓸까?
- 간단한 로직.
- 대용량(동시에 여러 request를 처리)
- 빠른 응답시간 요구
- 빠른 개발 요구
- 비동기방식에 어울리는 서비스(네트워크 스트리밍 서비스, 채팅 서비스 등)
쓰레드 기반 동기방식(Blocking I/O) => JAVA
- 하나의 쓰레드가 request를 받으면 처리가 완료되면 다시 응답을 보낸다.
- 동시 request가 많은 경우 쓰레드 각각 request 처리를 하기 때문에 많은 쓰레드가 필요하게 된다.
단일쓰레드 이벤트 루프 기반 비동기방식( Non-Blocking I/O) => Node.js
- 하나의 쓰레드가 request를 받으면 바로 다음 처리에 요청을 보내놓고 다른 작업을 처리하다가 먼저 요청한 작업이 끝나면 이벤트를 받아서 응답을 보낸다.
- 동시 request가 오더라도 처리가 완료될때까지 기다리지 않아도된다.
Java SpringFramework만 쓰다가 다른 기술들과의 비교점을 아는것도 괜찮은것 같다.
장단점을 파악하여 각 기술들의 장점들을 잘 살려 코딩하는게 짱~
반응형
'Knowledge' 카테고리의 다른 글
[Knowledge] Transaction이란? 속성 (0) | 2021.01.22 |
---|---|
[Knowledge] Tomcat 배포시 스케쥴러 중복 실행 해결방안 (0) | 2021.01.06 |
[Knowledge] Thread와 Process 차이점 (0) | 2021.01.04 |
[Knowledge] AOP(Aspect Oriented Programming) 관점지향프로그램 란? (0) | 2020.12.30 |
[Knowledge] iBatis & myBatis 사용 개념-2 (0) | 2020.12.30 |