无服务器计算与Azure Functions 上
1. 可扩展性
无服务器组件和架构最重要的特性之一是其在负载增加时的横向扩展能力。与传统的平台即服务(PaaS)不同,无服务器计算能无缝处理传入请求,即使面对意外的高流量。下面将介绍Azure Functions的扩展能力,重点是消费模型和应用服务模型之间的差异。
1.1 消费模型中的扩展
在Azure Functions中使用消费模型时,无需定义可用实例,也无法配置自动扩展设置。实际上,你根本不知道运行工作负载的机器数量(不过,如果将函数与Azure Application Insights集成,可通过实时流刀片查看已创建的实例数量)。
消费模型下,每次函数执行的可用内存固定为1.536 MB。函数是否扩展取决于内存和CPU的当前利用率。
该模型的优势在于能轻松扩展到数百个函数,同时并发运行相同代码。但这取决于函数使用的实际触发器,例如,使用HTTP触发器时,必须横向扩展才能同时处理多个请求;而使用事件中心触发器时,会为每个使用的分区自动增加工作实例数量。不过,不能总是依赖消费计划来确保无响应延迟或临时不可用情况,因为无法保证立即横向扩展,所以当应用需要应对快速流量高峰时,此定价计划并非最佳选择。
需注意,当前函数应用的扩展上限为200,且运行时每10秒最多分配一个新实例。
1.2 应用服务模型中的扩展
应用服务模型有其优势,能解决消费计划未涵盖的一些扩展情况。若需确保能处理传入负载,使用此模型通常是更好的选择,因为它能为函数应用提供固定资源,还能确保为应用分配的硬件已配置好,避免消费模型中可能出现的机器及其特性无保证的问
超级会员免费看
订阅专栏 解锁全文
33

被折叠的 条评论
为什么被折叠?



