在Linode上缩放AngularJS + NodeJS应用程序

我开发了一个使用AngularJS + NodeJS(与MariaDB,Redis和Socket.io一起用于实时通知)的应用程序,并且我已经将它部署在单个Linode节点上。 现在我想组织架构,以便在未来stream量增加的情况下轻松扩展应用。

所以我的想法是准备一切如下:

  • 1个Linode LoadBalancer服务器将成为主要点,并将redirect来自用户的请求
  • 1 Linode节点服务器,我将安装Nginx,充当反向代理,redirect到同一节点中的NodeJS服务器
  • 1个用于MariaDB和Redis服务器的Linode节点服务器

所以当我需要扩展时,我用Nginx + NodeJS添加一个新的节点。 对于MariaDB + Redis,我将设置两者的集群(我使用Redis作为会话,MariaDB作为数据)。

现在我的疑惑是:

  • 什么是应用程序的适当架构?

  • 我应该在哪里应用LoadBalancer或每个节点上的AngularJS应用程序?

  • 我需要nginx充当每个节点上的反向代理吗?

谢谢!