Масштабирование приложения AngularJS + NodeJS на Linode

Масштабирование приложения AngularJS + NodeJS на Linode

Я разработал приложение с использованием AngularJS + NodeJS (вместе с MariaDB, Redis и Socket.io для уведомлений в реальном времени) и развернул его на одном узле Linode. Теперь я хотел бы организовать архитектуру таким образом, чтобы я мог легко масштабировать приложение в случае увеличения трафика в будущем.

Поэтому моя идея заключается в том, чтобы подготовить все следующим образом:

  • 1 сервер Linode LoadBalancer, который будет основной точкой и будет перенаправлять запросы, поступающие от пользователей
  • 1 сервер узлов Linode, на котором я установлю Nginx, который, выступая в роли обратного прокси-сервера, перенаправляет на сервер NodeJS в том же узле
  • 1 сервер узлов Linode для MariaDB и сервера Redis

поэтому, когда мне нужно масштабирование, я добавляю новый узел с Nginx + NodeJS. Для MariaDB + Redis я бы установил кластеризацию для обоих (я использую Redis для сессии и MariaDB для данных).

Теперь мои сомнения заключаются в следующем:

  • Какова будет правильная архитектура для приложения?

  • Где мне следует разместить приложение AngularJS: на LoadBalancer или на каждом узле?

  • нужно ли, чтобы nginx работал как обратный прокси на каждом узле?

Спасибо!

Связанный контент