赞
踩
Serverless,也就是无服务器,什么是无服务器,和服务器有什么关系,为什么需要Serverless,还有怎么使用Serverless,这些问题将是本篇文章得到答案。在本篇文章中会简单介绍Serverless的基础概念和利用Serverless快速搭建Spring Boot应用。
现在正常的开发发布流程是首先编码,然后把代码打包成镜像,服务器拉取最新镜像重启更新,我们不仅需要编码,还需要考虑服务器的部署,应用日志,扩容,负载均衡等等,那么有没有什么新的架构能帮助我们省去运维,让开发只关心编码,测试,这就是Serverless。
Serverless(无服务器架构)指的是服务端逻辑由开发者实现,运行在无状态的计算容器中,由事件驱动, 服务器完全被第三方管理,而业务层面的状态则记录在数据库或存储资源中。
用一句话说,就是让开发者只需要关注业务实现,不必要关心与业务无关的东西,比如考虑如何部署到云端,不需要关心扩容,不需要关心运维,这一切东西全部交给提供Serverless的云服务提供商。
与IaaS的区别是,在IaaS中,用户需要提前购买好服务器,并且在请求高的时候提高资源,在请求低的时候减少资源,在没有请求的时候,容器依然就绪等待请求。
Serverless不需要提前购买服务资源,只在需求时启动,在事件触发时分配资源,当没有事件触发时就会关闭容器,等待下一次触发。那么开发者需要做的就是用代码实现业务,然后把代码打包上传到云服务提供商就结束了,剩下的运维全部交给提供商。
首先,我们看看Serverless有哪些缺点:
再来看看优点:
既然有这些优缺点,那么哪些场景适合使用Serverless呢?
比如实时文件处理,数据ETL,无服务器移动后端,音视频分析等场景。
下面我们将使用阿里云的函数计算实际部署Spring Boot应用。
阿里云的函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地、可靠地运行任务,并提供日志查询、性能监控和报警等功能。
函数计算工作流程如下图所示:
在这里我们通过Serverless Devs管理函数。
FC组件和ROS组件都是函数计算团队基于Serverless Devs为您提供的组件,FC组件和ROS组件是用于支持阿里云Serverless应用全生命周期的工具。该组件是Funcraft的进阶版本,和Funcraft的行为描述类似,Funcraft是通过资源配置文件template.yml协助您实现开发、构建、部署等操作的,FC组件和ROS组件则是通过资源配置文件即YAML文件,帮助您快速开发、构建、测试和将应用部署到函数计算。
可以通过包管理器(npm,yarn)和脚本安装安装。这里我们通过npm安装:
npm install @serverless-devs/s -g
执行完成之后,通过命令s -v
验证是否安装成功:
~ s -v
@serverless-devs/s: 2.0.92, darwin-x64, node-v12.18.3
在使用前,我们需要先进行配置,在终端中执行s config add
,根据提示输入Account ID
、Access Key Id
、Secret Access Key
、 aliasName
即可。
~ s config add
? Please select a template: Alibaba Cloud (alibaba)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/371641
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。