在 Web 开发中,Serverless 是一个越来越受欢迎的架构方案。它将服务器端的管理转移给云服务提供商,使得开发者可以更加关注业务逻辑,而不用被服务器管理、调试以及维护所占用的时间所烦扰。Serverless 不仅可以减轻开发者的负担,而且可以降低运行成本。在本文中,我们将通过一个实例来演示如何使用 Serverless 框架构建一个简单的 Web 应用程序。
动手实践
我们将使用 AWS Lambda 和 API Gateway 搭建一个简单的 TodoList : 在浏览器中显示TodoList,能够添加、查看和删除任务。以下是步骤:
步骤1:准备和配置工具
首先,安装和配置 Serverless CLI 工具。Serverless CLI 可以帮助我们管理和部署应用程序。输入以下命令即可安装它:
$ npm install -g serverless
在安装时,我们还需要配置一个 AWS 认证用户,使 Serverless CLI 可以访问我们的 AWS 资源。
输入以下命令,配置 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY (AWS_SECRET_ACCESS_KEY 可以在 IAM 中找到):
$ aws configure AWS Access Key ID [None]: YOUR_ACCESS_KEY AWS Secret Access Key [None]: YOUR_SECRET_KEY Default region name [None]: YOUR_REGION Default output format [None]:
步骤2:初始化工程
在成功安装和配置 Serverless CLI 工具后,即可开始开发 serverless 应用程序。
使用 CLI 工具的 init 命令创建 Serverless 应用的框架及其对应的结构:
$ sls create --template aws-nodejs --path my-service
这个命令将创建 my-service 文件夹及其四个文件和一个文件夹。他们分别为:
- handler.js:我们编写 AWS Lambda 函数代码的地方。
- serverless.yml:Serverless 应用程序配置的 YAML 文件。
- .gitignore:将不被 Git 跟踪的文件添加到 .gitignore 中,以免它们意外地包含在我们的代码库中。
- package.json:Node.js 项目所需的包含脚本、模块等信息的文件。
- test 文件夹:包含测试脚本的文件夹。
步骤3:编写代码
现在,创建一个 todo.js 文件,其中定义一些基本 API,并使用 AWS Lambda 获取数据。
-- -------------------- ---- ------- -- -- --------------- - ----- ---------- - --------------------------- ----- ------- - ------------------- ----- --- - ---------- ----- ----- - --- ----------------- ------------- ---- - ---------------- --- ------------------ ------------- ---- - --------------------- ---------------------- --- ------------------------ ------------- ---- - --------------------------- --- ---------------------- --- ---------------------- - ----------------
这个代码段仅仅是一个 RESTful API,它有三个端点,分别用于:
- 列出所有待办事项 (/todos)
- 添加一个待办事项 (/todos)
- 删除一个待办事项 (/todos/:id)
步骤4:部署应用程序
接下来,我们使用 Serverless CLI 工具部署应用程序:
$ sls deploy
当我们运行部署命令时,它会将应用程序部署到 AWS 上。并返回一些关键信息,包括 API Gateway URL。例如:
endpoints: POST - https://xxxxxxx.execute-api.us-east-1.amazonaws.com/dev/todos GET - https://xxxxxxx.execute-api.us-east-1.amazonaws.com/dev/todos DELETE - https://xxxxxxx.execute-api.us-east-1.amazonaws.com/dev/todos/{id}
步骤5:测试应用程序
现在,我们可以测试我们的应用程序了。可以通过 Postman 或浏览器作为客户端访问我们的 API。
总结
在本文中,我们介绍了 Serverless 框架,并演示了如何使用它构建一个基础的 Web 应用程序。Serverless 架构不仅可以减轻开发者的负担,而且可以降低运行成本。随着技术的不断发展,Serverless 架构应用的范围将会越来越广泛,我们应该跟随潮流,学习并使用这样的技术。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64ddfbe7f6b2d6eab3947ce9