Serverless工作流简介与技术剖析_第1页
Serverless工作流简介与技术剖析_第2页
Serverless工作流简介与技术剖析_第3页
Serverless工作流简介与技术剖析_第4页
Serverless工作流简介与技术剖析_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Serverless工作流简介与技术剖析技术创新,变革未来背景问题产品介绍未来展望CONTENT背景分而治之分布式技术微服务架构函数即服务合而用之请求响应队列/主题集中编排一个计量系统的演进之路(一)单体应用架构简单,快速上线无法处理日益增长的业务需求,计算经常延迟单点系统,宕机恢复时间长一个计量系统的演进之路(二)分布式任务/函数为支持部分失败引入复杂的状态管理主从模式增加成本,90%时间闲置,资源浪费难以了解系统执行状态试图使用队列降低成本,带来更加复杂的控制逻辑计算快速,系统性能水平扩展,满足长远业务增长需要架构清晰,任务和协调职责明确函数按需执行,成本有所降低考虑失败重试和系统宕机影响

2、,系统恢复快计量系统主从模式,自动失败切换背景问题产品介绍未来展望CONTENT函数编排的挑战如何构建复杂的,多步骤的,长时间运行的,有状态的应用?如何协调多个函数,比如顺序或者并行执行多个函数,又或者根据函数执行结果选择执行其它函数。如何针对函数执行错误实现不同的重试策略,或者捕获错误后执行其它函数。是否可以延长函数执行时间以支持长流程,比如批量处理大量 OSS 文件,日志数据,运维Pipeline 等。分布式任务编排的挑战编排函数,微服务,脚本编写大量代码来实现编排逻辑,状态维护和错误处理,而这些逻辑又很难被其它应用重用。需要考虑状态持久化,以支持多步骤长时间流程。需要考虑调度和任务之间,

3、任务和任务之间的安全通讯。在公共云、自有机房和不同架构下 的应用任务调度如何高效率完成。如何有效的监控整个流程的执行进度和状态。维护和运行执行调度的基础设施,确保编排程序的可用性和可伸缩性,闲置的资源导致成本 增加。编排的现状协调方式适用场景局限性使用主函数同步调用 其它函数主函数是无状态的。主函数执行时间很短(数秒内完成)。不关心部分失败带来的影响,重新执行主函 数不会影响系统。由于函数执行时间限制,无法支持长时间业 务流程。主函数大部分时间花在等待其它函数返回,产生额外成本。不适合有状态流程。使用事件驱动方式协 调函数执行(如消息 服务,OSS 通知等, 或者异步调用函数)一个事件触发一个

4、或者多个函数(Fan- Out)。无需等待被调用函数返回结果。协调较少的函数。很难支持等待多个事件触发一个函数的场景(Fan-In)。无法跟踪流程执行状态。无法限制单个函数和整个流程执行时间。无法针对函数执行错误定义重试策略。在服务器上运行常驻 程序协调函数执行1.工作负载十分稳定。需要自行实现状态管理。需要自行确保高可用性。需要自行扩容缩容以应对不同负载,提高资 源利用率。无法享受无服务器计算带来的其它好处。背景问题产品介绍未来展望CONTENTServerless 工作流介绍分布式任务函数计算 FunctionMNS 队列,主题云服务,以及通过函数可触达的 API自建工作节点 (ECS,容

5、器,自建机房)完善的工作流功能任务,顺序,分支,并行,动态并行,选择,循环,等 待子流程,回调 (callback)错误处理:指数退避,补偿逻辑,超时状态管理和可视化Serverless 全托管云服务免运维,自动弹性伸缩Pay-as-you-go,按照步骤转换计费让用户聚焦业务逻辑开发如何使用 Serverless 工作流基本概念Serverless 工作流面向对象编程流程类步骤函数执行实例状态堆栈Serverless如何使用 Serverless 工作流触发工作流调用StartExecution事件源依赖于函数计算事件源OSS,消息主题,API网关APISDK,CLI,控制台一个计量系统的演

6、进之路(三)基于 Serverless 工作流的任务调度无需为支持部分失败引入复杂的状态管理 主从模式增加成本,90%时间闲置,资源浪费2台服务器到10几次 步骤转换易于难以了解系统执行状态 试图使用队列降低成本,带来更加复杂的控制逻辑替换容易,复用 任务计算快速,系统性能水平扩展,满足长远业务增长需要架构清晰,职责更加明确函数按需执行,成本有所降低考虑失败重试和系统宕机影响,系统恢复快 计量系统主从模式,自动失败切换 依赖Serverless工作流高可用如何使用 Serverless 工作流- type: task name: listShards resourceArn:acs:fc:se

7、rvices/metering/functions/listShards timeoutSeconds: 20inputMappings:- target: execID source: $input.execIDoutputMappings:target: shardsretsroyu: rce: $local.listShardserrors:ErrorNeedsRetryFC.ResourceThrottledFC.InternalServerErrorFnF.TaskTimeoutFC.Unknown intervalSeconds: 3maxIntervalSeconds: 30ma

8、xAttempts: 10multiplier: 2type: foreach name: mappers iterationMapping: collection: $.shards item: shardsteps:type: taskname: mapperresourceArn: acs:fc:services/metering/functions/ma retry:errors:ErrorNeedsRetryFC.ResourceThrottledFC.InternalServerErrorFnF.TaskTimeoutFC.Unknown intervalSeconds: 3maxIntervalSeconds: 30maxAttempts: 10multiplier: 2流程定义业务场景核心功能状态管理错误处理多样化任务丰富的编排逻辑可追溯执行历史基础能力微服务/函数编排分布式任务编排跨网络任务编排长流程编排业务场景事务型业务流程媒体处理流程数据处理流水线

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论