
저는 AngularJS + NodeJS(실시간 알림을 위해 MariaDB, Redis 및 Socket.io와 함께)를 사용하여 애플리케이션을 개발했으며 이를 단일 Linode 노드에 배포했습니다. 이제 앞으로 트래픽이 증가할 경우 애플리케이션을 쉽게 확장할 수 있는 방식으로 아키텍처를 구성하고 싶습니다.
그래서 내 생각은 다음과 같이 모든 것을 준비하는 것입니다.
- 주요 지점이 될 Linode LoadBalancer 서버 1개는 사용자의 요청을 리디렉션합니다.
- 역방향 프록시 역할을 하며 동일한 노드에 있는 NodeJS 서버로 리디렉션되는 Nginx를 설치할 Linode 노드 서버 1개
- MariaDB 및 Redis 서버용 Linode 노드 서버 1개
따라서 확장이 필요할 때 Nginx + NodeJS를 사용하여 새 노드를 추가합니다. MariaDB + Redis의 경우 두 가지 모두에 대해 클러스터링을 설정합니다(세션에는 Redis를 사용하고 데이터에는 MariaDB를 사용합니다).
이제 내 의심은 다음과 같습니다.
애플리케이션에 적합한 아키텍처는 무엇입니까?
LoadBalancer 또는 각 노드 중 어디에 AngularJS 앱을 배치해야 합니까?
각 노드에서 역방향 프록시 역할을 하는 nginx가 필요합니까?
감사합니다!