【问题标题】:Downsides of firebase functions vs firebase hostingfirebase 功能与 firebase 托管的缺点
【发布时间】:2018-10-31 03:25:02
【问题描述】:

我想在 firebase 上托管使用 Next.js 的导出功能创建的静态 Web 应用。当底层数据库发生更改时,应用程序会将自身重建为静态 html。由于我不能直接将此静态页面自动部署到 Firebase 托管,因此我倾向于从 with 提供静态文件。

那么,与使用 firebase 托管相比,在 firebase 函数中使用 Express.js 提供静态 html 内容有什么缺点吗? 尤其是在:定价、安全性和性能/速度方面。

【问题讨论】:

  • 您可能想研究将 Firebase 托管连接到 Cloud Functions。 firebase.google.com/docs/hosting/functions
  • 其实没有,因为我不想提供动态内容。我宁愿从我的 firebase 函数应用程序更新 firebase 托管中的静态文件。但由于(尚)不支持此功能,我正在使用 express 在云功能中运行我自己的静态内容服务器..
  • 您可以将 Firebase 托管放在 Cloud Functions 前面,通过尝试以这种方式提供所有静态内容来帮助解决您面临的大部分计费和性能问题。
  • 我强烈建议您观看来自 Google I/O 的这段视频,其中一位 Firebase 托管的首席工程师解释了如何在 Firebase 上构建一个高效的、事件驱动的内容网站:youtube.com/…

标签: firebase google-cloud-functions firebase-hosting


【解决方案1】:

我们在 Firebase 托管下托管了我们的网站 (https://mfy.im),它是使用 nuxt 生成的,类似于您的 next.js。我们比较了许多其他静态托管站点,包括 Netlify、S3 等。Firebase 托管在性能上是最好的

尽管 Express 可以为您的静态文件提供服务,但不建议这样做。 Firebase 内部使用 Nginx。 Nginx 提供静态文件的速度非常快,而且它是多线程的。在 Nginx 中,它易于配置 http2、gzip 等(最近在 Node 10 中发布了完整的 http2 支持,在节点 js 中压缩文件也不是那么高效,因为节点是单线程的)

Firebase 托管的其他优势在于其边缘服务器、内置 CDNSSL 等。您网站的副本部署在世界各地的多台服务器上导致低延迟。我已经测试了 Firebase CDN 与 CloudFlare,Firebase 再次是最好的

关于定价,Firebase 托管提供 10GB 带宽的免费计划。它应该对中小型网站有效。如果您的带宽使用率高于此,您可以选择“按需付费”。但是,如果您担心价格问题,可以将 Firebase 托管与 CloudFlare CDN 结合使用,这样 CloudFlare 将覆盖大部分带宽

【讨论】:

  • 问题是关于功能与托管,而不是 Firebase 托管与 Ntlify 或 S3。
猜你喜欢
  • 2020-08-03
  • 2018-11-12
  • 2020-06-13
  • 2017-08-14
  • 1970-01-01
  • 2018-04-11
  • 2020-05-14
  • 1970-01-01
  • 2018-03-04
相关资源
最近更新 更多