部署多个 package.json Google 云

Deploying multiple package.json Google Cloud

我正在尝试修改此版本:https://github.com/ebidel/try-puppeteer

我注意到有 2 个 package.json(和 server.js)个文件。

  1. root (https://github.com/ebidel/try-puppeteer/blob/master/package.json)

  2. 后端 (https://github.com/ebidel/try-puppeteer/blob/master/backend/package.json)

为什么后台和前端分开部署,2个express server?这是最佳做法吗?设计矫枉过正?

在一个项目中有两个 server.js 文件(或两台服务器)的目的是什么?

它有我忽略的等级制度吗?

另外,我该如何部署这个项目?来自后端的根?

你应该部署两者,root 是前端。来自根目录:

npm run deploy-backend
npm run deploy-frontend

参见 package.json : https://github.com/ebidel/try-puppeteer/blob/master/package.json#L16

Why do they deploy the backend and front end separately, with 2 express servers? Is this best practice? Design overkill?

前后端两个yaml文件对比:

https://github.com/ebidel/try-puppeteer/blob/master/app.yaml

automatic_scaling:
 min_num_instances: 1
 max_num_instances: 1

https://github.com/ebidel/try-puppeteer/blob/master/backend/app.yaml

automatic_scaling:
 min_num_instances: 1
 max_num_instances: 5

作者希望他的后端有足够的工作来保证扩展。事实上,他的前端主要服务于静态数据,根本不消耗任何东西,而且非常简单,不会失败。

解耦您的应用程序意味着如果后端过载或崩溃,那么前端将不会遭受任何停机时间。

What is the purpose of having two server.js files (or two servers) in one project?

在这种情况下,它们是两个松散耦合的不同应用程序:它们不是在程序级别连接,而是通过 network/Google Cloud App Engine 连接。如果你想更清楚地看到 git 存储库中的端口 8080 和 8081 grep。 很多时候“try-puppeteer/backend”将是一个单独的 git 存储库,保留层次结构然后下载。

Does it have a hierarchy system I overlooked?

前端充当负载平衡器。再次查看代码中的端口 8081 和 8080。