📅  最后修改于: 2021-01-02 03:50:40             🧑  作者: Mango
移动和Web应用程序需要后端代码来执行任务,例如发出通知或处理长时间运行的任务。在过去的十年中,此后端代码在服务器上运行。
最近,Google的Firebase推出了一项名为Cloud Functions的新服务。借助Cloud Functions,Firebase提供了可扩展的解决方案,用于在云中运行后端代码。
Firebase的云功能使我们能够自动执行后端代码,以响应通过HTTPS请求和Firebase功能触发或引起的事件。我们的代码存储在Google的云中,并且在托管环境中运行,无需管理和扩展我们自己的服务器。
在云中运行代码具有多种优势,如下所示:
利用Cloud Functions,开发人员可以访问Google Cloud事件和Firebase,以及可扩展的计算能力,以响应这些事件运行代码。预计Firebase应用程序将以独特的方式使用云功能来满足其独特和特定的需求,用例可能属于以下领域:
Cloud Function用于使用户参与并及时了解有关应用程序的相关信息。例如,考虑一个允许用户跟踪应用程序中彼此活动的应用程序。在这样的应用程序中,由实时数据库触发的函数将写入以存储新的关注者。这些关注者可以创建Firebase Cloud Messaging,以使知道他们已经获得新关注者的适当用户。
\
通过使用Cloud Functions数据库事件处理,我们可以保持系统清洁和最新,并根据用户行为修改实时数据库。例如,在基于实时数据库的聊天室应用程序中,我们可以跟踪书写事件并清除用户消息中不适当或亵渎的文字。
用户可以利用Cloud Functions来执行Google Cloud资源密集型任务(繁重的CPU或网络),实际上这不可能在用户的设备上运行。
例如,我们编写了一个函数来侦听将图像上传到存储设备,运行该函数,将图像下载到实例,然后将其上传并修改回存储设备。我们所做的修改可能包括裁剪,调整图像大小等。为了使这项工作更容易,我们将ImageMagick命令行工具与Cloud Functions一起使用。
云端功能可以通过调用和公开Web API来帮助我们的应用与其他服务很好地配合使用。例如,一个应用程序用于协作开发,可以将GitHub发送到工作组聊天室。
编写和部署函数,Google的服务器将立即开始管理函数。我们可以使用HTTP请求直接触发该函数,或者在使用后台函数的情况下。触发函数,Google的服务器将监听事件并执行相应的函数。
当负载增加或减少时,Google会通过迅速扩展运行我们的函数所需的虚拟服务器实例的数量来做出响应。每个函数在其自己的环境中以自己的配置分别运行。
开发人员为新函数编写代码,定义该函数应在何种条件下执行,并选择事件提供程序(例如,实时数据库)。
开发人员将部署该功能,该函数将通过firebase连接到选定的事件提供程序。
当事件提供程序生成符合函数条件的事件时,将调用该代码。
如果该函数忙于处理许多事件,则Google会创建更多实例来快速处理工作;如果函数空闲,则清理实例。
当开发人员通过部署更新的代码来更新函数时,旧版本的所有实例将被清除并通过新实例进行替换。
删除事件提供程序和函数之间的连接,并在开发人员删除函数时清理所有实例。