Rails API + VueJS 服务器布局架构

Rails API + VueJS Server Layout Architecture

我有一个 Rails API 仅用于后端的应用程序和两个用作前端的 VueJS 应用程序。两个 Vuejs 应用程序都对 Rails API 进行了多次调用。我也在考虑部署到 Digital Ocean。

我的问题是:鉴于我正在使用 rails 和 vuejs,布局服务器架构的最佳做法是什么。我正在考虑将它保持非常独立,但可能会矫枉过正和重复,其他人有任何想法吗?

Vuejs 应用 1

LoadBalancer -- Web Server 1
                Web Server 2

Vuejs 应用 2

LoadBalancer -- Web Server 1
                Web Server 2

Rails API

LoadBalancer -- Web Server 1
                Web Server 2
                Worker Server
                Postgres    

我不确定您是否需要对 Vue 应用程序进行负载平衡,因为它只是您发送给每个用户一次的静态缩小文件,对吗?我的意思是,除非您计划获得数十亿次点击,否则我认为这可能有点矫枉过正?

根据 API 的流量和复杂性,负载均衡需要在任何地方进行。

我刚刚使用 Rails 作为 Vue SPA 的 api 完成了完全相同的事情,我使用了 AWS Elastic Beanstalk。

没用过的强烈推荐!它使部署和扩展变得轻而易举!

这是我的设置:

Vue SPA - served directly from S3

RDS Database instance x 1 - Part of EB out of the box

Load balancer - Part of the EB out of the box

App Server x 4 - EC2 Instances out of the box with EB

以上所有配置都非常容易配置,您只需单击几下即可更改服务器的大小或您拥有的数量 运行。它确实使整个过程变得异常简单。部署您的应用程序就像 eb deploy 一样简单:)

提醒一句,注意新 EB 设置为您提供的默认大小和服务器数量,我在第一个月确实花费了比预期更多的钱,因为我 运行 的服务器比我大得多确实需要。