Eu desenvolvi um aplicativo usando AngularJS + NodeJS (junto com MariaDB, Redis e Socket.io para notificações em tempo real) e o implantei em um único nó Linode. Agora, gostaria de organizar a arquitetura de uma maneira que eu possa escalar facilmente o aplicativo em caso de aumento de tráfego no futuro.
Então, minha ideia é preparar tudo da seguinte forma:
então quando eu precisar escalar adiciono um novo nó com Nginx + NodeJS. Para o MariaDB + Redis, eu configuraria o agrupamento para ambos (eu uso o Redis para a sessão e o MariaDB para os dados).
Agora minhas dúvidas são as seguintes:
qual seria a arquitetura adequada para o aplicativo?
onde devo colocar o aplicativo AngularJS, no LoadBalancer ou em cada nó?
eu preciso do nginx atuando como proxy reverso em cada nó?
Obrigado!