javascript : HTML 요소 생성부터 페이지 및 기능을 동적으로 처리할 수 있게 해주는, 브라우저에서 실행되는 프로그래밍 언어이다.
(Google Maps 이후 웹 서비스를 자바스크립트로 개발하는 시도가 많아졌다.)
chrome v8 엔진 : 구글이 주도해 c++으로 개발한 자바스크립트 엔진으로
자바스크립트 언어로 작성된 코드를 컴퓨터가 해석하기 쉬운 바이트 코드로 변환, 해석, 실행한다.
server side : node.js는 네트워크 서버 구축에 특화되어 있다.
이전 많이 사용하던 APACHE HTTP 서버는 구조적인 문제로 많은 동시 요청에 있어서 이슈가 발생하였는데, node.js는 이 이슈를 해결하였다.
runtime : 실행 환경을 의미한다.
이전에는 자바스크립트를 브라우저에서만 실행할 수 있었는데, node.js로 인해 로컬 환경에서도 실행할 수 있게 되면서 브라우저에서는 할 수 없었던 일을 할 수 있게 되었다.(대표적으로 파일을 읽고 쓰는 기능)
frontend와 backend의 기술 스택 통합 : 동일한 언어인 javascript를 사용하여 frontend의 서버프로그래밍 접근성과, 개발팀의 생산성을 증가시킬 수 있다.
빠른 처리 속도와 높은 동시 요청 처리 성능 : V8 엔진, libuv 등으로 인해 높은 성능을 가지고 있다.
MSA에 적합한 실행 환경 : MSA는 micro service architecture로 시스템의 전체적인 구조를 서비스별로 독립적으로 나누어 구성해 하나의 시스템에서 하나의 기능만 하는 아키텍쳐이다. (반대로 하나의 시스템에서 모든 기능을 하는 경우:모놀리틱 아키텍쳐)