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 简介

SWF (Simple Workflow Service)简介相关推荐

  1. 亚马逊推出Simple Workflow Service手册

    亚马逊刚刚发布了一份白皮书与代码示例,其中包含了Amazon Simple Workflow Service手册. Amazon Simple Workflow Service(SWF)是: --面向 ...

  2. SQS (Simple Queue Service)简介

    mazon Simple Queue Service (SQS)是一种完全托管的消息队列服务,可以让你分离和扩展微服务.分布式系统和无服务应用程序. 在讲解SQS之前,首先让我们了解一下什么是消息队列 ...

  3. Amazon Simple Storage Service (Amazon S3) 简介

    Amazon Simple Storage Service (Amazon S3) 接下来要介绍的是如何将先前的应用程序从 EC2 搬移到更轻量的 Container 里,但在介绍 Container ...

  4. 【SAP】ABAP——Web Service简介与配置方法

      本文转载  https://www.cnblogs.com/zohoo/p/7295920.html. 一. SAP Web Service简介 二. SAP Web Service配置准备工作 ...

  5. 用 Amazon Web Services 进行云计算,第 2 部分: 用 Amazon Simple Storage Service (S3) 在云中存储数据

    用 Amazon Web Services 进行云计算,第 2 部分: 用 Amazon Simple Storage Service (S3) 在云中存储数据 简介: 学习基本的 Amazon Si ...

  6. SAP Web Service简介与配置方法

    [版权声明]本文为博主原创文章,转载请在明显位置注明出处. 一. SAP Web Service简介 二. SAP Web Service配置准备工作 1. 通过RZ10配置服务器名称和其他参数 2. ...

  7. java queue使用_使用Java使用Amazon Simple Queue Service

    java queue使用 Amazon Simple Queue Service或SQS是Amazon Webservice堆栈提供的高度可扩展的托管消息队列. Amazon SQS可用于完全解耦系统 ...

  8. 使用Java使用Amazon Simple Queue Service

    Amazon Simple Queue Service或SQS是Amazon Webservice堆栈提供的高度可扩展的托管消息队列. Amazon SQS可用于完全解耦系统中不同组件的操作,这些组件 ...

  9. WF4.0 基础篇 (二十七) WCF Workflow Service 在WCF中使用WF

    例子下载: http://files.cnblogs.com/foundation/wcfwfSample.rar 例子说明: WCF Workflow Service 创建启用WF的WCF服务 例1 ...

最新文章

  1. 同步通信和异步通信的区别
  2. stm32 usb 虚拟串口 相同_为什么说你要学习USB?(一)
  3. QSharedMemory共享内存实现进程间通讯(IPC)及禁止程序多开
  4. linux系统中自动生成snap文件_在Linux操作系统下自动生成Makefile的方法
  5. postgresql interval 字段拼接
  6. javascript cookies 存、取、删除实例【转】
  7. 无人机图像的目标检测的学习
  8. UVALive 5760 Alice and Bob
  9. python基本数据类型
  10. 一层交换 二层交换 三层交换 四层交换 七层交换 OSI参考模型
  11. 微信表情存入mysql
  12. Mask-rcnn算法流程图
  13. 国外计算机论文翻译,计算机论文外文翻译
  14. Elasticsearch教程(19) 详解mapping之keyword
  15. 基于主成分分析法的PCA人脸识别算法实现
  16. 在Spring Boot中spring mvc常见注解解析及部分源码
  17. 微信ios浏览器 与 iframe的不兼容问题
  18. Java——为什么要有接口?
  19. 项目-Holocubic透明桌面站(基于STM32)
  20. 解决 chorm adobe flash过期

热门文章

  1. 秀和vs太田雄藏(依田纪基讲定式,欺骗感情)
  2. 谈谈 跨境劳工的噩梦深坑。
  3. 利用身份证号码算年龄 并排序
  4. jekins自动化部署
  5. C++不重起Windows直接更改IP地址
  6. Unity中的矩阵含义
  7. Kali Linux学习笔记—无线渗透 WPA攻击(PSK破解、AIROLIB、JTR、cowpatty、pyrit)
  8. SDN和NFV的区别
  9. 【VBA】Excel根据指定字段自动分页sheet功能的实现
  10. mysql一对多如何设计_数据库在一对一、一对多、多对多怎么设计表关系