Apachi, NginX.. - 프록시서버(웹서버)
Tomcat, Jetty.. - WAS(Web Application Server)
톰캣은 자바 서블릿을 serving 해주는 역할
nginx는 보안 + 라우팅 + 정적 웹서버
node.js는 자바스크립트 런타임
웹서버의 경우 어떤 요청에 대해 http 프로토콜(html)로 응답을 내려준다. 보통의 단순한 정적 웹서버.
WAS의 경우 어떤 요청에 대해서 비즈니스 로직(java코드 + 디비접근 + 보안 등)을 거친 후 http 프로토콜로(html)로 응답을 내려준다.
Node.js도 was가 될 수 있다. nginx를 앞단에 두고 뒤에 톰캣이랑 node.js 둘다 둘 수 있음.
Node.js 는 톰캣과 스프링보다 뒤에 개발되었기 때문에, Tomcat과 Spring의 구조를 보고 올인원으로 관리자가 내장되어 있는 구조로 만들었다. (전체적인 그림에서 수행 하는일로 보자면 Node.js = Tomcat+Spring)
- Apachi 와 NginX의 차이점은?
Apachi는 멀티 프로세스 모듈(MPM) 방식으로 처리하고, NginX는 이벤트 기반(Event-Driven) 방식으로 처리한다. (Apachi도 이벤트기반 방식을 추가하긴 했음) 따라서 잦은 IO를 처리하는 서비스는 성능과 가벼움이 강점으로 여겨지는 NginX, 안정성이 중요시되는 서비스에는 Apachi를 사용한다.
- Proxy
프록시서버(Proxy)는 클라이언트가 자신을 통해 다른네트워크 서비스(Node.js, Spring, WAS)에 간접적으로 접근할 수 있게 하는 컴퓨터 시스템이나 응용프로그램을 일컫는다. 중계자(관리자)로서 로드밸런싱, Reverse Proxy, 캐싱 등의 작업을 수행한다.
'☕️자바 𝗝𝗔𝗩𝗔' 카테고리의 다른 글
[Mac] JAVA 11(Zulu JDK11) 다운로드 및 설치 (0) | 2022.12.08 |
---|---|
[java] HashMap 순회, 4가지 반복문 (0) | 2022.12.07 |
[java] 자바 메모리 구조(static, stack, heap) (0) | 2022.11.18 |
[java] 피라미드 별찍기 예제 (0) | 2022.11.09 |
[java] 자바 별찍기 모래시계 찍기 (0) | 2022.11.08 |
댓글