我已经看到Google Firebase提供了一个静态文件托管解决方案(用于前端),该解决方案以SSL和CDN的形式提供。这意味着,我可以通过可能靠近他们并享有良好速度的服务器为世界各地的客户提供服务。
现在,我想对Node.js后端代码执行相同的操作。 这意味着,不是将后端代码托管在我自己的VPS中,而是仅对住在我服务器附近的人来说这可能会更快,我想通过HTTPS将同一服务器部署到Firebase的CDN,当然。
我现在发现的是Firebase Functions,它可能是Node.js服务器。但是,我不确定它是否会运行CDN,因此它会像静态文件服务一样快速运行,还是仅位于美国某处必须在全球范围内服务的服务器。
此外,如果有这样的服务-我可以使用SSL托管后端代码,那么我可以在VPS上使用“标准”快速配置吗? 集群/工人呢?使用Firebase解决方案时,我可以拥有多少个工人(如果有这样的工人)。
谢谢。
答案 0 :(得分:2)
默认情况下,您会获得用于托管和功能的HTTPS。如果您需要从自定义域而不是https://us-central1-[projectname].cloudfunctions.net服务的功能,则需要配置firebase.json文件以将路由重写为firebase函数。在这里标记的主要内容是您直接从google / firebase获取HTTPS和证书问题的两个选项。
当您将自定义域移交给Firebase时,firebase最多可能需要1-2个小时来颁发证书,但这一切都是自动发生的,而您无需执行任何操作。
是的,但是您需要在响应中设置正确的s-maxage标头,以确保Firebase CDN可以存储它。有关更多信息,请参见here。
firebase仍然难以使缓存失效,因此在您进行任何设置之前我都请记住这一点。
使用firebase函数的一个好处是您不需要真正考虑后端背后的资源。如果您的工作量较大,则可以在Google控制台中为所选功能增加ram / cpu功能。终结点计算机将根据收到的请求数进行缩放。另一方面,如果没有任何请求(通常在非生产环境中),它将进入空闲状态。在完全致力于使用它替代当前的nodejs VP托管解决方案之前,您需要了解冷启动问题。
我个人使用高速缓存控制标头来确保将函数响应推送到CDN边缘,从而避免了冷启动问题(对我和我的用例而言)。