체인의정석

서버의 구분과 프론트 엔드 프레임워크 WAS, DB, 웹서버의 구분과 차이, 프론트엔드 프레임워크가 나온 이유 본문

개발

서버의 구분과 프론트 엔드 프레임워크 WAS, DB, 웹서버의 구분과 차이, 프론트엔드 프레임워크가 나온 이유

체인의정석 2020. 6. 19. 18:13
728x90
반응형

 

서버는 기본적으로 컴퓨터안에서 작동하는 시스템이다. 한 컴퓨터안에 다른 포트로 여러 서버를 띄울 수도 있고 여러 컴퓨터에서 나누어서 띄울수도 있다.

 

소규모 프로젝트가 아닌 대규모 프로젝트에서는 여러 서버를 나누어서 두고 심지어 웹서버와 was를 여러개 띄우기도 한다. 

 

흔히 public에 있는 이미지, pdf 등등 정적인 파일 및 cdn으로 가져오는 부분들은 webserver이다.

 

WAS의 경우에는 node.js에서 작동하는 라우팅하고 api를 만들고 받아오고 하는 부분이다. 정적파일을 제외한 부분이 이에 해당된다.

 

마지막으로 DB서버의 경우에는 데이터베이스가 있는 컴퓨터이다.

 

서버의 종류

서버가 여러개 있을 경우 각각 포트를 다르게 사용할 수 있다.

나의 경우에는 node.js와 express만 사용하여 개발을하다가 처음 Vue.js를 배웠기 때문에 뷰와 노드의 포트가 다른것을 보고 의아했다. 기본적으로 vue를 사용한다는것은 WebApplicationServer를 분리해서 사용하는 개념과 같기 때문에 포트가 하나 더 생기는 것이다. 

 

그렇다면 이렇게 프론트 엔드 프레임워크가 나오게 된 이유는 무엇일까?

 

 

그 이유는 위의 그림에서 볼 수 있듯이 같은 서비스로 웹, 앱을 같이 만들게 되려면 프론트와 백이 완전히 분리된 앱처럼 만들지 않는 이상 웹이랑 앱을 같이 관리하기 위해서는 각각의 API를 관리해주는 백엔드 부분을 따로 관리해야하 하기 때문이다. 그렇다면 이 부분을 분리한다면?

기존의 node.js + ejs 방식을 쓰고 프론트 엔드 프레임워크를 아예 쓰지 않게 된다면 API를 만드는 백엔드 부분을 웹용에 이어서 앱용을 또 따로 만들어야 한다.  그러나 프론트엔드 프레임워크를 통해서 위처럼 분리 되게 된다면 한번에 백엔드API부분을 수정하는것이 가능하다. 유지보수 및 제작에 들어가는 비용이 훨씬 감소하게 되는 것이다.

 

728x90
반응형
Comments