扩展云-亚马逊简单工作流服务

今天,AWS为开发人员推出了一项令人兴奋的新服务:必威体育精装版app官网亚马逊简单工作流服务.Amazon SWF是一个用于构建可伸缩分布式应用程序的编排服务。应用程序通常由几个不同的任务组成,这些任务由一组动态条件驱动,以特定的顺序执行。Amazon SWF让开发人员很容易架构和实现这些任务,在云或内部运必威体育精装版app官网行它们,并协调它们的流程。Amazon SWF管理执行流,以便在注册的工作人员之间实现任务的负载平衡,尊重任务间的依赖关系,适当地处理并发性,并执行子工作流。

越来越多的应用程序依赖于异步和分布式处理,应用程序的可伸缩性是主要的动机。通过设计自治的分布式组件,开发人员可以在负载增加时灵活地独立部署和扩展应用程序的各个部分。必威体育精装版app官网异步和分布式模型具有松散耦合和选择性可伸缩性的优点,但它也带来了新的挑战。应用程序开发人员必须协调必威体育精装版app官网多个分布式组件以获得所需的结果。它们必须处理远程通信中增加的延迟和固有的不可靠性。组件可能需要很长时间才能完成任务,请求可能会失败,必须处理来自远程系统的错误。如今,为了实现这一点,开发人员被迫编写复杂的基础设施,必威体育精装版app官网这些基础设施通常包括消息队列和数据库以及同步它们的复杂逻辑。所有这些“管道”都与业务逻辑无关,并使应用程序代码变得不必要的复杂和难以维护。

Amazon SWF支持通过协调任务来构建应用程序决胜局的过程。任务表示工作的逻辑单元,并由应用程序组件执行,这些组件可以采用任何形式,包括可执行代码、脚本、web服务调用和人工操作。必威体育精装版app官网开发人员可以完全控制任务的实现和协调,而不必担心底层的复杂性,比如跟踪他们的进度和保持他们的状态。

必威体育精装版app官网开发人员实现工人执行任务。他们在云基础设施上运行他们的工人,比如Amazon EC2或内部。任务可能长时间运行,可能失败,可能超时,可能以不同的吞吐量和延迟完成。Amazon SWF存储工作人员的任务,在工作人员准备就绪时分配任务,跟踪他们的进度,并保持他们的最新状态,包括完成任务的细节。为了协调任务,开发人员编写程序,从Amazo必威体育精装版app官网n SWF获取任务的最新状态,并使用它以持续的方式启动后续任务。Amazon SWF可持久地维护应用程序的执行状态,以便应用程序能够对单个应用程序组件的故障具有弹性。

亚马逊主权财富基金的一个重要特点是可审核性;Amazon SWF为应用程序中每个步骤的执行提供了可见性。管理控制台和api允许您监视应用程序的所有运行执行。客户可以放大任何执行,以查看每个任务的状态及其输入和输出数据。为了方便故障排除和历史分析,Amazon SWF保留客户出租车指定的任意天数的执行历史,最长不超过90天。

Amazon SWF提供了一组非常强大的构建块,这些构建块还可以用于构建更高级别的执行引擎。我们的一些早期客户使用Amazon SWF来实现他们的领域特定语言(DL),用于专门的业务流程执行。我认为Amazon SWF的可用性将在这一领域推动许多创新。

作为AWS SDK的一部分,AWS Flow框架帮助开发人员快速、轻松地创建基于Amazon SWF的应用必威体育精装版app官网程序。SDK的Java版本在语言层面上包含了非常酷的集成,使得开发人员可以很容易地将Java代码自动转换为任务,创建正确的依赖项,并管理工作流的执行。必威体育精装版app官网这给Java带来了一些具有内置分发和并发性的语言的强大功能,比如Erlang。

有关工作流执行、任务协调、任务路由、任务分配、异常处理、子工作流、计时器、信号、标记和更多的详细信息,请参见亚马逊SWF详细信息页面。有关SDK的更多信息,请参阅开发人员指南。必威体育精装版app官网一如既往的AWS开必威体育精装版app官网发者的博客更多细节。在Rightscale的博客托尔斯滕·冯·埃肯谈到了他们对主权财富基金的使用。

评论的Disqus