部署多个package.json Google Cloud
我想修改这个构build: https : //github.com/ebidel/try-puppeteer
我注意到有2个package.json
(和server.js)文件。
-
根( https://github.com/ebidel/try-puppeteer/blob/master/package.json )
-
后端( https://github.com/ebidel/try-puppeteer/blob/master/backend/package.json )
为什么他们分别部署后端和前端,2台快递服务器? 这是最佳做法吗? devise矫枉过正?
在一个项目中有两个server.js文件(或两个服务器)的目的是什么?
它是否有我忽视的分级系统?
另外,我该如何部署这个项目? 从后端的根?
为什么他们分别部署后端和前端,2台快递服务器? 这是最佳做法吗? devise矫枉过正?
比较两个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文件(或两个服务器)的目的是什么?
在这种情况下,这些应用程序是两种不同的应用程序,它们是松耦合的:不是通过networking/ Google Cloud App Engine连接,而是连接程序级别。 如果你想更清楚地看到git仓库中的端口8080和8081的grep。 很多时候,“try-puppeteer /后端”将是一个单独的git仓库,保留层次结构,然后下载。
它是否有我忽视的分级系统?
前端作为负载平衡器。 再次查看代码中的端口8081和8080。
你应该部署两个,根是前端。 从根:
npm run deploy-backend npm run deploy-frontend
请参阅package.json: https : //github.com/ebidel/try-puppeteer/blob/master/package.json#L16