Serverless Devs 与控制台

简介: 1

对于有并发限制的场景,客户的突增流量在同步调用的场景下会被限流,从而在客户不做错误处理的时候造成一定请求失败。
场景1:脉冲式压测场景。
场景2:限时线上促销活动。
在这些场景下,客户可以通过异步调用将 HTTP 触发和函数执行进行解耦,提升执行效率和执行成功率,降低开销。
异步调用 at least once 的保证, 目标投递的能力,以及具有可观测性和可管控能力的异步任务模式能更好地让客户享受到函数托管服务的便利,解放客户双手。
HTTP 触发器不支持异步调用时,为了满足需求,客户往往需要通过函数转跳的方式间接实现 HTTP 触发异步调用。具体流程如下:
客户可以创建两个函数,函数 A 为 HTTP 函数,通过 HTTP 同步调用;函数 B 为事件函数,可以由 HTTP 函数通过 SDK 进行异步调用。但是该方案的缺点也很明显:
• 成本高:每次异步调用都需要两次触发。
• 无法实现流控全托管:第一层函数为同步调用,面对突增流量被流控,需要客户自行做自适应,从而无法享受异步调用的流控全托管。
• 增加客户开发维护成本:需要开发和维护两个函数来使用异步功能。
新功能:HTTP 触发器支持异步调用
函数计算当前上线支持了 HTTP 触发器进行异步调用的功能。使用本功能,客户需要准备好一个 HTTP 函数和一个 HTTP 触发器。
客户可以通过函数计算控制台、SDK 和 Serverless Devs 工具来进行 HTTP 函数和触发器的创建。HTTP 触发器客户可以自行配置,如果不进行配置,在创建 HTTP 函数的时候,函数计算会为您自动创建一个默认触发器。
HTTP 触发器需要通过请求头 X-Fc-Invocation-Type 来选择触发方式,默认为同步触发,如果需要进行异步触发,则可以在请求头中添加 {"X-Fc-Invocation-Type":"Async"} 从而实现异步触发。
HTTP 异步调用测试
1) 通过控制台进行测试
在函数代码处进行测试,通过勾选异步调用进行异步调用测试。
在测试函数侧可以通过勾选 "我想通过异步的方式进行调用" 实现异步调用测试。
2) 通过 cURL 进行测试
curl -v -H "X-Fc-Invocation-Type: Async" https://http-*.cn-shenzhen.fcapp.run/$path
测试结果查看:
触发完成后会立即返回函数计算接收请求的结果。其中状态码 202 表示请求成功,其余表示请求出现错误。请求 ID 也会在请求头中一并返回,您可以通过返回的请求 ID 追踪异步请求的执行状态。为了更好地观测请求请求执行状态,增加对函数执行的管控,您可以开通异步任务[1]。
可以通过请求 ID 在控制台进行执行结果日志的查询:
对于开通异步任务的请求,可以通过异步任务列表进行状态监测和查询:
对于异步执行结果的回调可以参考函数回调文档[2]。
最佳实践
此处以 HTTP 触发视频转码为例,介绍如何通过结合 Serverless Devs 与控制台,实现 HTTP 触发异步任务。
前提条件:
• 安装 Serverless Devs[3]
• 配置 Serverless Devs[4]
• 创建 OSS 存储空间[5],以便后续测试用例中对 OSS 存储空间进行访问和内容变更。
• 创建 RAM 角色,并授予 OSSFullAccess 权限策略,您也可以直接使用 AliyunFCDefaultRolePolicy 策略。关于权限策略的详细信息,请参见创建 RAM 角色

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
存储 运维 Serverless
Serverless 应用引擎产品使用之阿里函数计算中返回函数计算2.0控制台如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
196 1
|
缓存 Serverless 开发者
serverless devs部署问题之push image失败如何解决
Serverless部署是指将应用程序部署到无服务器架构中,该架构允许开发者专注于代码而无需关心底层服务器的运行和维护;针对Serverless部署过程中可能遇到的挑战,本合集提供全面的指南和最佳实践,帮助开发者顺利实现应用的无服务器化部署。
239 1
|
11月前
|
人工智能 Cloud Native Serverless
Serverless Devs 官网全新升级,Serverless+AI 重磅来袭
Serverless Devs 官网全新升级,Serverless+AI 重磅来袭
205 3
|
人工智能 Cloud Native Serverless
Serverless Devs 官网全新升级,Serverless+AI 重磅来袭
Serverless Devs 官网迎来全新升级,主站以 AI 应用开发的叙事透出项目特性和解决方案。应用中心(Registry)将各类热门 AI 应用模版、实用 AI 工具以及 AI 工作流等呈现给用户。本次升级主题为“一站式 AI/函数/应用开发”,希望为开发者提供更加便利的应用模版搜索和展示服务,本文将对本次升级的三大看点进行整理,欢迎您来体验!
|
Serverless 对象存储
现代化 Web 应用构建问题之配置Serverless Devs的秘钥信息如何解决
现代化 Web 应用构建问题之配置Serverless Devs的秘钥信息如何解决
198 1
|
存储 运维 监控
函数计算产品使用问题之如何在控制台配置HTTP触发器并使用HTTP请求触发
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
256 6
|
缓存 JavaScript Serverless
阿里云云效产品使用合集之如何在Serverless Devs阶段指定Node.js版本
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
人工智能 运维 机器人
函数计算产品使用问题之怎么使用Serverless Devs创建GPU函数
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
220 0
|
人工智能 JavaScript 小程序
Serverless 应用引擎常见问题之函数计算安装serverless devs成功了但是配置密钥这步一直不成功如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
177 1

相关产品

  • 函数计算