HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

AWS Step Functions:使用可视化工作流协调分布式应用程序和微服务

  • 2017-01-09
  • 本文字数:1499 字

    阅读完需:约 5 分钟

Amazon Web Services 推出了 AWS Step Functions ,该服务让用户可以使用可视化工作流协调分布式应用程序和微服务。AWS Step Functions 控制台支持定义状态机的 JSON 规范,从而在应用程序内执行“步骤(steps)”,例如,调用外部的 AWS Lambda 函数或者运行在 AWS EC2 容器服务(ECS)上的容器化应用程序。

通过 AWS Step Function 服务创建的每一个状态机都定义了一组状态以及状态之间的转换。状态可以顺序或并行激活,该服务可以确保所有并行的状态都运行完毕再进行下一步操作。状态会执行任务、作出决定,并通过状态机控制这个过程。每个状态机的多个副本可以同时独立地运行;每个副本称为一个“执行(execution)”。按照 AWS 博客的说法,AWS Step Functions 服务允许并发运行数以千计的执行。

AWS Step Function 状态机承担的所有工作都是由“任务(tasks)”负责处理。一项任务可以是:

  • AWS Lambda 函数:完全基于云的任务,在 Lambda 服务上运行。Lambda 函数可以使用 JavaScript(可以使用 AWS 管理控制台编写,也可以上传到 AWS Lambda 服务)、Java 或 Python(必须上传到 AWS 服务)编写。
  • 一个活动:这个概念是指由“worker”应用程序或者托管在类似 AWS EC2 或 AWS ECS 这样的平台上的微服务执行的一项任务。
    • Worker 可以使用任何能够调用 AWS Step Functions API 的语言实现。
    • Worker 必须调用 API “GetActivityTask”和“SendTask*”轮询 AWS Step Functions。据 AWS 博客介绍,最基本的,一项活动甚至可以是一项“人工任务”,等待某个人来执行一些动作,然后继续。
    • 如果一项活动有心跳超时时间,则实现这项活动的 worker 必须使用“SendTaskHeartbeat”动作发送心跳更新。
    • 活动没有版本控制,它们应该总是向后兼容。如果必须对一项活动的定义做向后不兼容的修改,那么就应该借助 Step Functions 使用一个唯一的名称新建一项活动。

错误处理行为和重试逻辑可以作为状态机的一部分在 JSON 规范中指定。这让你可以构建“健壮的多步骤应用程序”,即使应用程序的一部分瞬时出现了问题,导致了短暂的故障,它仍然可以成功运行。

在创建状态机规范时,可以使用 AWS Labs 新推出的 Ruby gem “ statelint ”验证手动或机器生成的 JSON,从而发现常见的错误,包括状态不可达和遗漏终端状态。

任何状态机的设计都可以在 AWS Step Functions 控制台上以可视化的方式进行,而在执行过程中,可以启用一个彩色的图表来审查状态机内的当前进展(步骤成功 / 失败):

虽然 AWS Step Functions 最近才刚刚发布,但 Leading Edge Forum 研究人员 Simon Wardley 指出,该服务和类似 AWS Lambda 这样的“无服务器”功能可以支持未来“编码化(codification)”业务运作方式,这是为了提高灵活性而开始创建业务流程执行语言(BPEL)的早期尝试。

当你考虑 AWS Lambda、AWS Step Functions 等等服务时,你需要以一个自动化基本原则的角度来考虑,也就是说,不只是说或者编码到地图和相关系统中,而是要随处嵌入。大规模地,以我希望我们能够达到的竞争速度,那么,这是必须的。

AWS 博客介绍,AWS Step Functions 当前的可用区域包括美国东部(北弗吉尼亚)、美国东部(俄亥俄州)、美国西部(俄勒冈州)、欧洲(爱尔兰)及亚太(东京)。作为 AWS 免费试用方案的一部分,用户每月最多可以免费运行 4000 次状态转换。除了免费使用方案外,每 1000 次状态转换的费用为 0.025 美元。

要了解更多信息,请查看 AWS Step Functions 的产品页面、 AWS 博客以及在 YouTube 上观看 AWS 最近举办的在线研讨会“ AWS Step Functions 发布”。

查看英文原文: AWS Step Functions: Coordinating Distributed Applications and Microservices Using Visual Workflows

2017-01-09 18:008569
用户头像

发布了 1008 篇内容, 共 389.8 次阅读, 收获喜欢 344 次。

关注

评论

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

是时候了!MySQL 5.7 的下一站,不如试试 TiDB?

TiDB 社区干货传送门

TiKV Fast Tune 介绍及手册,快速定位 TiDB/TiKV 性能抖动或退化

TiDB 社区干货传送门

TiDB 7.x 源码编译之 TiDB Server 篇,及新特性解析

TiDB 社区干货传送门

版本测评 新版本/特性发布 7.x 实践

加速新型工业化“智造”创新,用友数智驱动新质生产力

用友BIP

智能制造

PCB打板省钱小妙招,强烈建议收藏!

华秋电子

PCB

火山引擎DataTester:AB测试技术揭秘及应用分享

字节跳动数据平台

大数据 ab测试 对比实验 数字化增长 企业号10月PK榜

AI干货大FUN送!程序员节来AI Show“集市”行乐

飞桨PaddlePaddle

AI 程序员节

京东小程序平台助力快送实现跨端 | 京东云技术团队

京东科技开发者

小程序 ide 跨端 企业号10月PK榜

MySQL Command Line Client登录 及系统设置

小齐写代码

互动直播双11大促开启!!!快来! | 京东云技术团队

京东科技开发者

互动直播 数字人 企业号10月PK榜 AI直播

TiDB 社区第三届 1024 程序员心愿节|你的心愿,我来实现,人均带着一个礼物的时刻到啦!

TiDB 社区干货传送门

把AI刻进矿山生产DNA | 用友BIP助力智慧矿山精益管理提速

用友BIP

智能制造

软件依赖管理-源码依赖、接口依赖、服务依赖

laofo

DevOps cicd 研发效能 持续交付

邯郸学院软件学院软件工程专业教师参加“火焰杯”软件测试颁奖

测试人

软件测试

TiDB 企业版全新升级,平凯数据库核心特性全解读

TiDB 社区干货传送门

一周完成“药管家”元服务开发,上线单月用户达千万

最新动态

软件测试|火焰杯”软件测试高校就业选拔赛获奖名单揭晓,我院两名学子上榜,奖金2万元!

霍格沃兹测试开发学社

Elasticsearch向量检索的演进与变革:从基础到应用

汀丶人工智能

自然语言处理 Elastic Search 语义搜索系统 向量搜索

手机端侧文字识别:挑战与解决方案

合合技术团队

人工智能 技术 手机 识别

多模态GPT-V出世!36种场景分析ChatGPT Vision能力,LMM将全面替代大语言模型? | 京东云技术团队

京东科技开发者

人工智能 LLM模型 企业号10月PK榜 GPT-V

SMT组装工艺流程的应用场景

华秋电子

SMT

把您的 PCB 艺术品带来 KiCon 吧:SAO Hat 作品招募中

华秋电子

kicad

2023 年 API 排行榜热门榜单揭晓

Apifox

程序员 前端 接口 API API 协议

收获98.23%候选人的好评,ATL新能源做对了什么?

用友BIP

智能招聘

Lightroom Classic 2024 for Mac(摄影后期照片编辑工具) v13.0.1中文激活版

mac

照片编辑软件 苹果mac Windows软件 Lightroom Classic lrc

页面查询多项数据组合的线程池设计 | 京东云技术团队

京东科技开发者

线程池 分页查询 企业号10月PK榜 数据组合

一站式轻量化部署服务器集群监控方案

lklmyy

云计算 部署 测试开发 #云原生

小间距LED显示屏的技术优势有哪些?

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家 户内led显示屏

第2期 | GPTSecurity周报

云起无垠

软件测试|计算机系本科生获“火焰杯”软件测试高校就业选拔赛一等奖

霍格沃兹测试开发学社

优化模型之标注错误

矩视智能

深度学习 机器视觉

AWS Step Functions:使用可视化工作流协调分布式应用程序和微服务_语言 & 开发_Daniel Bryant_InfoQ精选文章