【问题标题】:How should I divide up my cloud functions?我应该如何划分我的云功能?
【发布时间】:2018-04-20 07:51:44
【问题描述】:

目前,我正在将整个 express 应用程序部署为 Firebase 上的一个云功能。像这样的:

// index.js
import * as express from "express";
import api1 from "./controllers/api1";
import api2 from "./controllers/api2";

const app = express();
app.use("/api1", api1controller);
app.use("/api2", api2controller);
export const app= functions.https.onRequest(app);

// controllers/api1.js
import * as express from "express";
const router = express.Router();
router.get(...)
router.post(...)
export default router;

这非常方便,特别是如果您想将现有的快递应用程序移动到云功能。但是,我正在考虑将其分解并将每个控制器部署为它们自己的功能。像这样的

// index.js
import * as express from "express";
import api1 from "./controllers/api1";
import api2 from "./controllers/api2";

const app1 = express();
app1.use("/", api1controller);

const app2 = express();
app2.use("/", api2controller);

export const app1= functions.https.onRequest(app1);
export const app2= functions.https.onRequest(app2);

至少,这提高了透明度,当我进入 firebase 控制台时,我可以看到我有 2 个控制器,每个控制器正在进行多少活动,并检查它们各自的日志。

是否有任何我应该关注的性能或成本问题?

【问题讨论】:

    标签: node.js firebase google-cloud-functions


    【解决方案1】:

    这里没有重大的性能问题。

    【讨论】:

    • 我明白了。然而,here 也有关于将云函数拆分为多个文件的讨论,这个人建议只在运行时导入所需的函数,这可能会提高性能。我可以问你对此的看法吗?
    • 对于您在此处显示的代码,没有性能问题。另一个问题是处理更具体的问题。
    猜你喜欢
    • 1970-01-01
    • 2018-05-26
    • 1970-01-01
    • 2014-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多