AWS Lambda 快速入门

场景:现在需要开发一个前后端分离的应用,后端采用 RESTful API 最为方便,但是如果这个后端服务会在一天中的某些时候有高并发的情况,使用什么样的架构最为简单呢?

刚思考这个问题的时候我想到的解决方案可能有以下几种:

  • 使用CDN内容分发网络,减少主服务器的压力

  • 使用LVS服务器负载均衡

  • 使用缓存

  • 硬件层 提高带宽,使用SSD 硬盘,使用更好的服务器

  • 代码层,优化代码(使用性能更好的语言等

但以上的几个方法都需要关注服务器的存储和计算资源,以便随时调整以满足更高的性能,并且高并发的请求也是分时段的,配置了更高性能的服务器在访问量变低的时候也是资源浪费。

这个时候可以使用 FaaS(Functions as a Service) 架构,跟传统架构不同在于,他们运行于无状态的容器中,可以由事件触发,短暂的,完全被第三方管理,功能上FaaS就是不需要关心后台服务器或者应用服务,只需关心自己的代码即可。其中AWS Lambda是目前最佳的FaaS实现之一。

AWS Lambda

AWS Lambda 是一项计算服务,使用时无需预配置或管理服务器即可运行代码。AWS Lambda 只在需要时执行代码并自动缩放。借助 AWS Lambda,几乎可以为任何类型的应用程序或后端服务运行代码,而且无需执行任何管理。现在 AWS Lambda 支持 Node.js、Java、C# 和 Python。

使用场景

Lambda 常见的应用场景有以下几种:

  • 将Lambda 作为事件源用于 AWS 服务(比如音频上传到 s3后,触发 Lambda 音频转码服务,转码音频文件

  • 通过 HTTPS (Amazon API Gateway) 实现的按需 Lambda 函数调用(配合 API Gateway创建简单的微服务

  • 按需 Lambda 函数调用(使用自定义应用程序构建您自己的事件源)

  • 计划的事件(比如每天晚上12点生成报表发送到指定邮箱

下图是将Lambda 作为事件源用于 AWS 服务案例的一个执行流程图:

0?wx_fmt=jpeg

  1. 用户将对象上传到 S3 存储桶(对象创建事件)。

  2. Amazon S3 检测到对象创建事件。

  3. Amazon S3 调用在存储桶通知配置中指定的 Lambda 函数。

  4. AWS Lambda 通过代入您在创建 Lambda 函数时指定的执行角色来执行 Lambda 函数。

  5. Lambda 函数执行。

这篇文章主要介绍 将 Lambda 作为事件源用于 AWS 服务 和 配合 API Gateway 创建简单的微服务。

如何使用 Lambda

接下来将使用一个案例介绍如何使用 Lambda。

将 AWS Lambda 与 Amazon API Gateway 结合使用(按需并通过 HTTPS)

步骤 1:设置 AWS 账户和 AWS CLI
  • 注册 AWS 账户并在该账户中创建管理员用户

  • 设置 AWS Command Line Interface (AWS CLI)

步骤 2:创建 HelloWorld Lambda 函数和探索控制台

创建 Hello World Lambda 函数
  1. 登录 AWS 管理控制台并打开 AWS Lambda 控制台。

  2. 选择 Get Started Now。(仅当未创建任何 Lambda 函数时,控制台才显示Get Started Now 页面。如果您已创建函数,则会看到 Lambda > Functions 页面。在该列表页面上,选择 Create a Lambda function 转到Lambda > New function 页面。下图是这种情况

0?wx_fmt=jpeg

  1. 这里选择从头开始创作,填写函数名、选择角色,点击创建函数

  2. 配置创建好的Lambda函数

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值