前端类技术文章:Serverless

阅读时长 4 分钟读完

介绍

Serverless,是近年来非常流行的一种云计算服务。Serverless(无服务器)并不是指没有服务器,而是指将服务器的管理、维护任务交由云厂商,使得开发者无需关心服务器相关的问题,只需要关注代码的编写,这种模式被称为 Function-as-a-Service(FaaS)。

传统的应用开发模式中,我们需要购买服务器,然后在服务器上安装环境、配置应用,维护系统,这种方式会消耗大量的时间和精力。而 Serverless 的出现,极大的减轻了这些问题,让开发者可以更加专注于应用本身。同时,Serverless 还能够大大降低应用的运维成本。

原理

Serverless 的原理可以简单概括为以下几点:

  1. 开发者将代码部署到云函数平台上。
  2. 当函数被触发时,平台会自动为开发者分配一些计算资源,执行代码。
  3. 执行结束后,计算资源会自动释放,不再产生费用。

优点

  • 显著降低应用开发和运维的成本,减少了专业运维人员的需求,普通开发人员也可进行应用的开发。
  • 高度可扩展,能够自动进行负载均衡和弹性伸缩。
  • 可以根据业务逻辑自由组合,支撑复杂的应用。
  • 由于云平台自己负责运维,因此运维方面的安全和可靠性也更好。

适用场景

Serverless 主要用于短时计算的场景,以及业务持续区间不稳定的场景。

常用的场景有:

  1. 数据处理和转换
  2. 视频处理
  3. 图片处理
  4. 事件驱动
  5. 无状态服务
  6. 实时任务处理
  7. 网络爬虫
  8. API 功能实现

示例

为了让大家更好的理解 Serverless 的使用,这里提供一段 Serverless 的案例。

编写代码

本示例实现的是一个简单的网络爬虫,爬取指定网站的数据,并将数据存储到云存储中。

代码如下:

-- -------------------- ---- -------
----- ----- - -----------------
----- - --------- ---------------- - - ------------------------------
   
--------------- - ----- ------- -- -
  ----- --- - -------------------------- -- ------
  ----- -------- - ----- --------------- -- ----
  ----- ---- - --------------  -- -- ----
  
  ----- -------- - --- ---------- ------- ----------- --- -- -- ------ -- ---
  ----- ------ - -
    ------- ----------------- -- -----
    ---- --------------- -- ------
    ----- ---- -- ----
  --
  ----- ------- - --- ------------------------- -- -- ---------------- --
  ----- ----------------------- -- -- ---------------- --
  ------ -----
--

配置云函数

这里我们以 AWS Lambda 为例来进行配置,步骤如下:

  1. 打开 AWS Lambda 控制台。
  2. 点击 "创建函数" 按钮,进入创建函数的页面。
  3. 输入函数名称等相关信息,并在 "运行时间" 中选择 "自定义运行时间"。
  4. 在 "自定义运行时间" 中设置超时时间。
  5. 在 "代码" 标签页中,选择 "使用.zip文件" 并上传代码。
  6. 在 "触发器" 标签页中,添加需要触发函数的事件源,比如 S3 事件等。

测试

配置完成后,为了测试函数,可以手动执行一次代码,来验证函数是否能够正常运行。在 AWS Lambda 控制台中,选择刚刚创建的函数,点击 "测试" 按钮,系统会根据默认输入事件触发函数运行。

总结

Serverless 作为一种新型的云计算服务,为开发者们提供了一种全新的思路。它代表了未来技术的发展方向,也有望成为云计算行业的一种新的标准。相比传统的应用部署和维护方式,Serverless 具有更高的灵活性和可扩展性,能够为公司节约更多的成本,也让开发人员专注于应用本身。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64a4e03a48841e9894149554

纠错
反馈