我正在尝试修改此版本:https://github.com/ebidel/try-puppeteer
我注意到有2个package.json
(和server.js)文件。
root(https://github.com/ebidel/try-puppeteer/blob/master/package.json)
后端(https://github.com/ebidel/try-puppeteer/blob/master/backend/package.json)
为什么他们使用2台快速服务器单独部署后端和前端?这是最佳做法吗?设计过度?
在一个项目中拥有两个server.js文件(或两个服务器)的目的是什么?
它是否有我忽略的层次结构系统?
此外,我如何部署此项目?来自后端的根源?
答案 0 :(得分:2)
你应该同时部署,root是前端。来自root:
npm run deploy-backend
npm run deploy-frontend
请参阅package.json:https://github.com/ebidel/try-puppeteer/blob/master/package.json#L16
答案 1 :(得分:1)
为什么他们单独部署后端和前端,2 快递服务器?这是最佳做法吗?设计过度?
比较前端和后端的两个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
作者希望他的后端有足够的工作来保证扩展。实际上,他的前端主要提供静态数据,它根本不消耗任何东西,而且太简单而不能失败。
解耦你的应用程序意味着如果后端过载或崩溃,那么前端不会遭受任何停机。
拥有两个server.js文件(或两个服务器)的目的是什么? 一个项目?
在这种情况下,这是两个不同的松散耦合应用程序:而不是通过网络/ Google Cloud App Engine连接程序级别。如果你想更清楚地看到git存储库中端口8080和8081的grep。 很多时候“try-puppeteer / backend”将是一个单独的git存储库,其中保留了层次结构,然后是下载。
它是否有我忽略的层次结构系统?
前端作为负载均衡器。再次查看代码中的端口8081和8080。