[프로젝트] raspi_api | 마무리

dev2820·2021년 10월 16일
0

프로젝트: raspi_api

목록 보기
6/6

이렇게 프로젝트가 마무리되었습니다. 마지막으로 생성된 서비스 구조를 정리해봅시다.

서비스는 nginx, express1, express2로 구성되며 따라서 3개의 컨테이너가 동작하게 됩니다. 3개의 컨테이너는 docker-compose를 통해 관리하게 됩니다.

express 서버 앞단에 nginx를 리버스 프록시로 두었습니다. nginx는 request를 적절하게 express1과 express2에 분배해주는 역할을 합니다.

express 서버는 아래와 같은 흐름을 가집니다.

db를 사용하는 경우 database middleware를 거쳐 db의 connection을 가져와 query를 실행합니다.

또한 express 서버엔 cluster가 적용되어 총 cpu 개수 절반만큼의 워커를 생성합니다. 라즈베리파이의 경우 cpu가 4개이므로 각 express 서버가 2개의 워커를 생성하겠죠.

또한 3000번 포트만 외부에 공개하기 때문에 유저는 3000번 포트를 통해 서버를 이용하게됩니다.

마치며

이상으로 raspi_api 프로젝트를 마칩니다. 사실, 프로젝트라고 하기도 애매합니다. ㅎ 다른 큰 프로젝트를 만들때 뼈대로 사용할 수 있는 하나의 틀이라고 생각하면 될 것 같습니다.

이제 api 서버가 생겼으니 다음으로 데이터를 받아 예쁘게 보여주는 웹페이지를 만들어볼까 생각중입니다.

github

https://github.com/dev2820/raspi_api

profile
공부,번역하고 정리하는 곳

0개의 댓글