NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

亚马逊推出 Simple Workflow Service 手册

  • 2013-01-25
  • 本文字数:1236 字

    阅读完需:约 4 分钟

亚马逊刚刚发布了一份白皮书与代码示例,其中包含了 Amazon Simple Workflow Service 手册

Amazon Simple Workflow Service(SWF)是

……面向创造可扩展、弹性应用的工作流服务。不论是金融或者保险应用中的业务流程自动化,构建复杂的数据分析应用,还是管理云基础设施的服务,亚马逊 SWF 能可靠地协调应用中的每个处理步骤。

SWF 的最大优点在于,它是完全管理的服务,用户不需要在硬件或管理维护上进行任何额外的投资,即,不需要进行调优、打补丁或升级。它提供了简单的 API,并允许在 EC2 或任何联网的计算机上执行工作流步骤。SWF 基于轮询(Polling)实现,因此运行在内部(企业内部)的程序可以向 SWF 轮询以获取新的任务。最后,AWS 管理控制台还可以为工作流提供当前状态及执行历史的详细报告。

SWF 的实现要求给新的 / 现有的应用增加决策(decider)代码,该代码通过指定工作顺序、分时、故障条件来定义工作流的协作逻辑。另外还需要实现活动(activities),即用来执行工作流每一步的组件。决策程序和活动组成工作流。一旦决策程序和活动就位,SWF 服务代表应用协调所有工作。

尽管 AWS SWF 有这些优点,但由于缺乏示例和有关实现的最佳实践,搭建 SWF 应用并不是件容易事。亚马逊新发布的白皮书填补了这个空白。该白皮书提供大量工作流模式的实施范例,并提供了实现这些模式的代码。白皮书覆盖了如下几类模式和实现的相关信息:

反复执行某一活动,包括:

  • 指定次数循环重复执行某一活动
  • 指定次数递归执行异步活动
  • 在条件满足的情况下递归执行异步活动

同步执行多个活动,包括:

  • 固定数目活动的分支聚合
  • 动态决定活动数目的分支聚合
  • 分裂多个活动并使用第一个完成的活动的执行结果

工作流逻辑的条件执行,包括:

  • 基于条件执行多个活动中的一个活动
  • 基于条件执行一个更大群体中的多个活动

人工完成一个活动任务:人工活动实现

异步执行的异常处理:

  • 处理异步代码(如活动)产生的异常以及通过 try/catch/finally 清理资源
  • 处理其他异步代码调用另一个异步代码产生的异常

重试执行失败的异步代码:

  • 重试某项活动直到成功,或者重试达到一定的次数
  • 注解一个活动以便框架可以通过使用时间递增重试策略进行自动重试,即,每次重试间隔增长,在达到指定值后停止
  • 通过 RetryDecorator 类实现时间递增重试,即在运行时指定重试策略,也可按需修改
  • 通过 AsyncRetryingExecutor 类实现指数重试,即允许运行时指定重试策略。另外,白皮书还展示了在实现 run 方法中 AsyncRunnable 抽象的用法,即,在每次重试的时候 AsyncRetryingExecutor 都会要求执行活动。
  • 实现定制的重试策略

工作流的信号传送:实现在执行前等待某一信号一定时间的工作流

新发布的 SWF 手册为实现新的定制工作流了提供了了一个绝佳的起点。

查看英文原文 Amazon Provides Simple Workflow Service Recipes


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-01-25 02:103044

评论

发布
暂无评论
发现更多内容

IPQ9554 with QCN6274 Solution forCommercial Applications|Wi-Fi7

wallyslilly

ipq9554 qcn6274

SAAS堡垒机安全吗?为什么性价比那么高?

行云管家

云计算 软件 SaaS SAAS软件

TDengine 资深研发整理:基于 SpringBoot 多语言实现 API 返回消息国际化

TDengine

时序数据库 ​TDengine

DHorse v1.4.2 发布,基于 k8s 的发布平台

tiandizhiguai

浅谈分布式事务及解决方案 | 京东物流技术团队

京东科技开发者

数据库 分布式 分布式事务 事务 企业号10月PK榜

简单好用的pdf编辑工具 PDF Expert 最新中文版

胖墩儿不胖y

PDF 编辑pdf pdf处理工具

记一次MySQL5初始化被kill的问题排查 | 京东云技术团队

京东科技开发者

MySQL 数据库 企业号10月PK榜

博睿数据获评2023中国智能运维领域“最具商业合作价值企业”

博睿数据

可观测平台 智能运维AIOps

如何将电脑上的“小电影”隐藏为一张图片?这波操作绝了!!

冰河

程序员 图片 视频创作 知识分享 小视频

塑造未来经济的游戏规则改变者:去中心化金融交易所的发展

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

RazorSQL for Mac(数据库查询工具) v10.4.6完整激活版

mac

苹果mac Windows软件 RazorSQL SQL数据库管理工具

AI大模型下一步怎么走?百度携AI原生应用抢先作答

陈橘又青

文心一言

浅谈东数西算战略中,发挥算网大脑作用的4个关键点

鲸品堂

东数西算 算力网络 企业号10月PK榜

如何使用GaussDB(DWS)的本地临时表进行数据处理

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 本地临时表

消灭指标二义性!提效30%的指标管理如何炼成?

奇点云

奇点云 数据云操作系统 指标标签

驱动数字化转型,Doris Summit Asia 2023 智慧金融与政企论坛精彩预告!

SelectDB

数据库 大数据 数据分析 实时数仓 apache doris

Opencv入门篇:简介与基本使用 | 京东物流技术团队

京东科技开发者

Python OpenCV 计算机视觉 企业号10月PK榜

DBeaverUE for Mac旗舰激活版 数据库管理软件

iMac小白

DBeaverUE下载 DBeaverUE破解版

宁夏企业过等保选哪家测评机构好?选哪家堡垒机?

行云管家

等保 等级保护 宁夏

解析设计模式与设计原则:构建可维护性和可扩展性代码的重要性

华为云开发者联盟

开发 华为云 华为云开发者联盟

设计模式之策略模式:让你的代码灵活应对不同的算法 | 京东云技术团队

京东科技开发者

算法 设计模式 策略模式 企业号10月PK榜

AI原生应用速通指南

百度Geek说

App 百度文库 AIGC 企业号10月PK榜

Bonree ONE 秋季产品发布会上新功能提前剧透!

博睿数据

可观测性 智能运维

sip中继的内容介绍

ctsxiyou

SIP sip中继

iOS代码混淆和加固技术详解

雪奈椰子

用友Fast by BIP助力公交企业降本增效,数智运营!

用友BIP

火山引擎ByteHouse:双十一即将到来,如何用数据分析提升电商平台销售转化?

字节跳动数据平台

大数据 数据仓库 云原生 电商

RazorSQL for Mac注册激活版(多功能SQL数据库管理器)支持M1

iMac小白

数据库软件 RazorSQL下载 RazorSQL破解版

李彦宏,AI原生应用的秋收时刻

脑极体

AI

记录TritonServer部署多模型到多GPU踩坑 | 京东云技术团队

京东科技开发者

人工智能 gpu 企业号10月PK榜

文件比较对比软件中的佼佼者Beyond Compare 4 for Mac

展初云

Mac Mac软件 文件比较对比工具

亚马逊推出Simple Workflow Service手册_亚马逊云科技_Boris Lublinsky_InfoQ精选文章