SWF (Simple Workflow Service)简介

Amazon Simple Workflow Service (Amazon SWF) 提供了给应用程序异步、分布式处理的流程工具。

SWF可以用在媒体处理、网站应用程序后端、商业流程、数据分析和一系列定义好的任务上。

举个例子,下图表明了一个电商网站的工作流程,其中涉及了程序执行的过程和人工执行的过程(第三步)。

当用户在电商网站上下单后,即启动了该流程,该流程包含了4个任务(tasks):

  1. SWF验证用户订单信息
  2. 如果订单有效,则进行信用卡付款流程
  3. 如果付款完毕,则进行人工发货
  4. 如果发货完成,则保存订单信息到数据库,并结束流程

在这个流程中,每一个任务都是按顺序执行的,只有当上一个任务成功完成后才能执行下一个任务。

SWF除了支持顺序执行的流程之外,也支持并行处理的流程,即一个任务的完成可以触发多个任务同时执行。

基本的SWF概念

  • SWF发起者(Starter)
    • 可以激活一个工作流的应用程序,可能是电商网站上下单的行为,或者是在手机APP上点击某个按钮
  • SWF决策者( Decider)
    • SWF Decider决定了任务之间的协调,处理的顺序,并发性和任务的逻辑控制
  • SWF参与者(Worker)
    • SWF Worker可以在SWF中获取新的任务,处理任务,并且返回结果
  • SWF域(Domains)
    • 域包含了工作流的所有组成部分,比如工作流类型和活动类型

SWF决策者和参与者可以是运行在AWS上的EC2实例或者其他计算资源,SWF只是保存不同的任务,把这些任务分配给worker,并且监控他们的任务处理进展。

SWF和SQS的区别

  • SWF是面向任务的;SQS是面向消息的;
  • SWF保证了每一个任务都只执行一次而不会重复;标准的SQS消息可能会被处理多次
  • SWF保证了程序内所有任务都正常被处理,并且追踪工作流;而SQS只能在应用程序的层面追踪工作流
  • SWF内的任务最长可以保存1年;SQS内的消息最长只能保存14天

更多关于SWF的内容可以查看官方文档Amazon SWF 简介

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Loong_1213

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值