Notice
Recent Posts
Recent Comments
Link
기록하는 개발자
0425_ Scalable 환경은 어떻게 만들 수 있을까? 본문
728x90
아키텍쳐적인 관점에서 Scalable 하다는 것은 예상치를 충분히 감당할만한 Resource를 갖고있다는 의미
1. Reverse Proxy
- 리버스 프록시의 웹서버를 리소스의 앞 단에 위치 시킴으로, DB와 연결된 WAS의 보안을 강화 할 수 있다.
- Cache Server 를 붙이거나 SSL 하드웨어 가속기를 연동하는등 아키텍처 측면에서 성능 향상을 하기가 해진다.
- 리버시 프락시를 cluster로 구성해 놓으면 가용성을 높일 수 있고 사용자가 증가하는 상황에 맞게 Web Server 나 WAS 를 유연하게 늘릴 수 있는 장점이 있다.
# 로드 밸런싱
트래픽이 증가하면, 기존 서버의 성능을 높이는 scale up을 진행하거나, 물리적 또는 논리적으로 여러 대의 서버를 두어 트래픽을 분산시키는 scale out* 방식을 취해 대처
* 서버가 두대 이상으로 늘어날때, nginx를 서버 앞에 두어서 WAS를 중계해주는 역할을 수행하게 하는데, 그때 Nginx가 받는 요청의 load를 고르게 들어가게 해주는것을 로드 밸런싱이라고 한다.
2. MVC, 모듈화

(1) 세개의 레이어로 역할이 나뉘어져 있기 때분에 동시다발적인 개발이 가능합니다.
역할분담에 용이하며 협업이 가능한 프로젝트를 구성할 수 있습니다.
(2) Node js Project Layering
server.js
Express App으로 서버를 여는 로직
app.js
Express App 인스턴스를 만들고, 필요한 미들웨어를 붙이는 로직
routes
라우팅(엔드포인트 나누기) 로직
controller
엔드포인트에 해당하는 함수 로직 http요청에 따른 에러 핸들링, service로직에서 데이터를 받아와 응답을 내보내는 로직
services
controller에서 넘겨받은 인자로 다양한 알고리즘(필터, 정렬 등)을 처리해서 데이터에 접근하는 로직
prisma
데이터베이스에 접근하기 위한 모델이 정의되어 있는 폴더
'취업스터디' 카테고리의 다른 글
| [자료구조] Heap (힙) (0) | 2022.04.26 |
|---|---|
| 0421_ javascript의 클래스 (0) | 2022.04.21 |
| 0421_ WAS, CORS, TCP & UDP (0) | 2022.04.21 |
| 0420_ Stack, Queue (0) | 2022.04.20 |
| 0420_ JWT, OAuth (0) | 2022.04.20 |
Comments