【问题标题】:Is it possible to host my Node.js server on Firebase cloud delivering by CDN?是否可以在通过 CDN 交付的 Firebase 云上托管我的 Node.js 服务器?
【发布时间】:2018-07-14 08:06:38
【问题描述】:

我看到 Google Firebase 提供了一个静态文件托管解决方案(用于前端),它以 SSL 和 CDN 提供服务。这意味着,我可以为世界各地的客户提供服务,服务器可能离他们很近,而且速度很快。

现在我想对我的 Node.js 后端代码做同样的事情。 这意味着,我不想将我的后端代码托管在我自己的 VPS 中,这可能只对住在我的服务器附近的人来说可能很快,我想将同一台服务器部署到 Firebase 的 CDN,当然还有通过 HTTPS。

我现在发现的是 Firebase Functions,它可能是一个 Node.js 服务器。但是我不确定它是否在 CDN 上运行,所以它会像静态文件服务一样快,或者它只是位于美国某处的服务器,必须在全球范围内服务。

此外,如果有这样的服务 - 我可以使用 SSL 托管我的后端代码,我是否可以在我的 VPS 上拥有我现在拥有的“标准”快速配置? 那么集群/工作者呢?使用 Firebase 解决方案时我可以拥有多少工人(如果有这样的解决方案)。

谢谢。

【问题讨论】:

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


    【解决方案1】:
    1. SSL 和 firebase 功能和托管?

    默认情况下,您获得 HTTPS 用于托管和功能。如果您需要从自定义域而不是 https://us-central1-[projectname].cloudfunctions.net 提供函数,则需要配置 firebase.json 文件以重写您的 firebase 函数路由。此处要标记的主要内容是您可以直接从 google/firebase 获得 HTTPS 和证书问题。

    当您使用自定义域时,firebase 最多可能需要 1-2 小时才能颁发证书,但这一切都会自动发生,您无需执行任何操作。

    1. firebase 功能是否与 CDN 集成?

    是的,但您需要在响应中设置正确的 s-maxage 标头,以确保 firebase CDN 将其存储。有关这方面的更多信息,请参阅here

    使用 firebase 仍然很难使缓存失效,因此在您进行任何设置之前,我会牢记这一点。

    1. 使用 Firebase 解决方案时我可以拥有多少工人(如果有这样的解决方案)。

    使用 firebase 函数的一个好处是,您无需过多考虑后端背后的资源。如果您有较重的工作负载,您可以在谷歌控制台中为您选择的功能增加您的 ram/cpu 功率。端点将根据收到的请求数量来扩大和缩小。另一方面,如果它没有收到任何请求(通常在非生产环境中),它将进入空闲状态。在您完全承诺将其用作当前 nodejs VPs 托管解决方案的替代品之前,您需要了解冷启动问题。

    我个人使用缓存控制标头来确保将函数响应推送到 CDN 边缘,从而消除冷启动问题(对于我和我的用例)。

    【讨论】:

    • 感谢您的回答。我对此有几个问题:我实际上害怕缓存,因为内容陈旧而不新鲜。我想用函数来避免这样的事情,因为函数正在从数据库中获取新数据。我会将这样的东西用于静态资产,这可能对 Firebase 托管有好处。这意味着,我需要一个基于 CDN 而不是缓存的解决方案 - 所以来自美国的用户将在加利福尼亚拥有服务器,而来自澳大利亚的用户将在悉尼拥有服务器。这怎么可能达到?缓存不是解决方案 - 但在某些情况下它可以提供帮助。
    猜你喜欢
    • 2019-06-01
    • 1970-01-01
    • 2016-04-09
    • 2019-08-29
    • 1970-01-01
    • 1970-01-01
    • 2023-02-15
    • 2010-12-22
    • 2015-02-16
    相关资源
    最近更新 更多