最终期望的结果是一个性能更好、资源利用率较低的系统。我希望将sql数据库连接到云函数,并承载一组pf。
这里有两种选择。
替代一:我们将每个api作为一个单独的云函数承载。
const functions = require('firebase-functions');
exports.helloFunc1 = functions.https.onRequest(function (request, response){
response.send("Hello from Func1!");
});
exports.helloFunc2 = functions.https.onRequest(function (request, response){
response.send("Hello from Func2!");
});备选方案二:我们托管一个带有内部路由的云函数。
const functions = require('firebase-functions');
const express = require('express');
const router = new express.Router();
var app = express();
var helloFunc1 = function (request, response){
// After some DB OPS
response.send("Hello from Func1!");
};
var helloFunc2 = function (request, response){
// After some DB OPS
response.send("Hello from Func2!");
};
router.get('/helloFunc1',helloFunc1);
router.get('/helloFunc2',helloFunc2);
exports.root = functions.https.onRequest(router);帮助我理解各种方法与任何一种设计的优缺点之间的权衡。
此外,请将数据库连接池作为分析的一部分。如果我们使用firebase或数据存储,这将不是一个决定性因素,但是对于原生SQL数据库,我假设很多连接在自动缩放时会影响性能。
编辑#1
这是一个基本的例子,但在现实中,其含义可能更多。是否正在使用一个框架来提供其他功能,如ORM和共享模型,用于八月的中间件,基于配置的通用约定,这在服务器少的环境中是一种真正的选择吗?,因为我们知道这些框架是为运行在始终向上的服务器上而设计的。ORM和框架将如何处理被抢占和将如何影响性能?
PS。我是Node和Express的新手。
发布于 2017-04-06 22:24:43
部署个别职能
部署一个Express应用程序
目前,我可能会建议部署一个Express应用程序,主要是为了获得冷启动减少的优势。但是,如果您的一些端点有一个非常不同的内存/cpu配置文件,那么将它们分离到自己的云功能中可能是有意义的(特别是当通过Firebase部署的函数的cpu/内存配置文件变得更容易调整时)。
https://stackoverflow.com/questions/43264564
复制相似问题