引言:学习Azure Functions需要知道的知识,没有太多官方定义,方便理解
1、什么是Azure Functions
一种无服务器的解决方案
2、什么是无服务器Serverless
无需关注服务器、基础设置, 按需付费 ,弹性伸缩(以应对峰值)的一种服务
是指服务器对开发者、应用者、使用者和交付者来说,更像一个底层的资源,可以忽视它无视它。
适合的一些应用,比如在线教育,比如会遇到一些流行的课程,可能会对整个系统的访问量有所冲击,使用无服务器就可以快速的弹性伸缩扩展,来应对峰值的负载。
比如工业场景下的 缺陷检测,捕捉到某个事件去触发一些检测模型,通过无服务器的技术,快速构造视频缺陷检测平台
3、Azure Functions怎么运行的
(触发器)触发 → 执行 → 释放
4、Azure Functions的绑定(可选 1/*)
以声明的方式将资源连接到函数(输入绑定、输出绑定)
官方文档:Azure Functions 中的触发器和绑定 | Microsoft Docs
- 后端的Functions跑的服务器,通常默认是1-1.5 G的这样的一些虚拟机,虚拟机的数量能够根据请求数,自动的维护实例,最大能达到200个实例。
- 所以它的扩展性是非常强的,而这个扩展不需要用户处理。
- 同时这个高峰过去之后,实例的个数会自动的再降回去,甚至降到零。降到零之后实际上对于用户来说是不计费的状态。
5、Azure Functions的托管计划(消耗、高级、专用计划)
Azure Functions 的缩放单位为函数应用。横向扩展函数应用时,将分配额外的资源来运行Azure Functions主机的多个实例。相反,计算需求下降时,扩展控制器将删除函数主机实例。
解释:请求多的时候,实例增多,弹性伸缩
计费相关:
¥定价:Azure Functions定价 |Microsoft Docs
¥其他计费成本
Functions运行依赖于存储账户、Application Insights(可选)
建议配置Appliation Insights,可以监控Function的运行状况
Http请求或其他请求,会有一些带宽的消耗,需要计费
¥价格计算器
估算函数应用和相关服务的总体成本时:价格计算器
价格计算器 | Microsoft Docs
(1) 消耗计划成本(200实例)
消耗计划每个实例固定1vCore,1.5G内存,最大200个实例
Azure Functions中的消耗计划 | Microsoft Docs
单个函数执行的执行成本以**“GB秒”**来度量。执行成本是通过将其内存用量与执行时间相结合计算得出的。
函数的运行时间越长,其成本越高;同理,函数消耗的内存越多,其成本越高。
假设函数使用的内存量保持恒定。在这种情况下,进行简单的相乘即可计算成本。例如,假设函数运行了3秒,消耗了0.5 GB,那么,执行成本为0.5GB*3s= 1.5 GB-seconds.
消耗计划中的 Azure Functions 限制为单次执行 10 分钟。
(2) 高级计划(100实例)
Azure Functions中的高级计划 | Microsoft Docs
高级计划按照实例计费 每个高级计划在任何时候都至少有一个活动(计费)的实例。
计费:核心数 * vCPU持续时间的单价(vCPU/小时) + 内存 * 内存持续时间的单价(GB/小时)
消除冷启动
当消耗计划中没有发生任何事件或执行任何操作时,你的应用可以缩减到零个实例。 当出现新事件时,必须使运行应用的新实例专用化。 将新实例专用化可能需要一些时间,具体取决于应用。
第一次调用时的这种额外延迟通常称为应用冷启动。
高级计划提供了两个功能,这些功能协同工作以有效地消除函数中的冷启动:“始终就绪实例”和“预热实例”。
① 始终就绪实例
Always Ready Instances始终就绪实例(1-20个)
让应用在指定数量的实例上始终处于就绪状态,就不会有冷启动的发生
② 预热实例
预热实例是在缩放和激活事件期间作为缓冲区预热的实例。
默认的预热实例数为 1,在大多数情况下此值应保留为 1。
举例: 高级函数应用配置了五个始终就绪实例和一个默认的预热实例。
-
没开始的时候不计费,5个始终就绪在运行
-
第一个实例开始,五个就绪,一个预热,是6个实例(第六个预热的处于非活动状态的缓冲区)
-
请求增多↑,要拓展实例了,将会拓展到预热的那个实例。此时,6个活动状态,1个预热缓冲。
-
不会预热或激活超出最大值的实例。
③ 高级计划的一些优势
纵向扩展应用服务计划 可以增大CPU、内存、硬盘
扩大(应用服务计划) 就是设置始终就绪实例
网络: 支持vNet集成
更长运行时间
运行持续时间默认为 30 分钟。 可以修改 host.json 配置,使高级计划应用的持续时间无限长。 如果设置为一个无限的持续时间,则可以保证函数应用至少运行 60 分钟
(3) 专用计划
专用计划依赖于应用服务计划,应用服务计划是Web App的一种计费方式
应用服务计划 使用场景:
1、具有已运行其他应用服务实例的、未充分利用的现成VM。
(有一些应用服务计划了,但是利用率不高,这个时候可以将Function部署在上面)
2、需要提供用于运行函数的自定义映像。文章来源:https://www.toymoban.com/news/detail-510001.html
欢迎关注我的博客,与我一起学习,我将持续分享我的学习过程,我是 热爱学习的小翁同学~文章来源地址https://www.toymoban.com/news/detail-510001.html
到了这里,关于Azure Functions 基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!