Serverless 技术已经成为越来越多的企业选择构建其应用程序的首选,等同于无服务器,意味着这一代码不需要在本地或云服务中运行任何服务器,而是依赖于第三方提供商进行代码的运行和存储。这种方案不仅简化了维护和拓展的工作,而且还能够降低硬件和软件的额外成本。接下来我们将详细介绍如何基于 Serverless 构建一个事件驱动的应用程序。
什么是 Serverless Events?
Serverless Events 是一种基于函数式编程模型开发的应用程序,事件驱动表示程序被触发器驱动,当触发器被触发时,事件将被处理。在 Serverless Events 中,内容本身将被处理为事件,通过触发器将其传递到应用程序中的功能(即函数)。这意味着事件驱动程序除了根据某个事件回应外,在没有请求时都是空闲的。
Serverless 引擎
Serverless 引擎是一种类似于 Web 框架的工具,可帮助您构建和运行 Serverless 应用程序。您可以将其看作是您 Serverless 应用程序的运行时。在这份指南中,我们将使用 AWS Lambda 来说明我们所使用的 Serverless 引擎。
构建 Serverless Events
由于 Serverless Events 是基于事件驱动的,所以我们需要先定义我们的事件,这一步看起来很相似于中断处理器设计。因此我们需要一些 AWS 服务的帮助来定义我们的事件以及我们的触发器。在 AWS 中,我们可以使用 S3,SQS,SNS,API 网关等等服务的变体作为触发器。发生在这些服务上的事件将被传递到我们的 Lambda 函数,以便处理。
代码示例
接下来我们会提供一个基本的代码示例。这个Lambda 函数简单地将获取到的事件数据(例如一个对象在 S3 中更新的事件)传递给 SNS 主题。通过这种方式,您可以轻松地查看和监视您的事件。这将帮助您更好地理解事件驱动的 Serverless 应用程序的工作方式。
-- -------------------- ---- ------- ----- --- - ----------------- ----- --- - --- --------- --------------- - ------- -------- --------- -- - ------------------ ------------- -------- ---------- -------- ---------------------- --------- ------ --- ----- ----- -- ------------- ----- - ---------------- ----- ------------- -- -
结论
通过本篇文章,您了解了如何使用 AWS Lambda 构建基于 Serverless 的事件驱动应用程序。您还学习了如何定义事件以及如何使用编程语言编写 Lambda 函数。在实际项目中,您可以通过绑定多个触发器来拓展这种 Serverless Events 模型,以支持您的实际用例。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67385499317fbffedf0fad8e