微服务编排 - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

微服务编排

微服务体系结构将应用程序分解为松散耦合的服务。好处包括提高可扩展性、提高弹性以及加快上市时间。每个微服务都是独立的,因此可以轻松扩展单项服务或功能,而无需扩展整个应用程序。个别服务是松散耦合的,使得独立团队可以专注于单一的业务流程,而不需要他们了解整个应用程序。微服务还允许您选择适合业务需求的单个组件,从而无需重写整个工作流程即可灵活地更改选择。不同的团队可以使用自己选择的编程语言和框架来处理他们的微服务,这种微服务仍然可以通过应用程序编程接口 (API) 与应用程序中的任何其他微服务进行通信。

Step Functions 为您提供了多种管理微服务工作流程的方法。对于长时间运行的工作流,您可以将标准工作流与Amazon Fargate集成以协调容器中运行的应用程序。对于需要立即响应的短期、高容量的工作流程,同步快速工作流很理想。这些可用于基于 Web 的或移动应用程序,这些应用程序通常具有较短的工作流程,并且需要在返回响应之前完成一系列步骤。您可以直接从 Amazon API Gateway 触发同步 Express 工作流程,在工作流程完成或超时之前,连接将保持打开状态。对于不需要立即响应的短期工作流程,Step Functions 提供了异步 Express 工作流程。

一些使用 Step Functions 的 API 编排示例包括:

同步或实时工作流

  • 更改记录中的值,例如更新员工的姓氏,并在屏幕上立即显示更改。

  • 在结账期间更新订单,例如添加、移除或更改商品数量,然后立即将更新反映给买家。

  • 运行快速处理作业并立即将结果返回给请求者。

容器编排

  • 使用 Amazon Elastic Kubernetes Service 在 Kubernetes 上运行作业,或者使用 Fargate 在亚马逊弹性容器服务 (ECS) 上运行作业并与其他人集成Amazon服务,例如使用 Amazon SNS 发送通知,作为同一工作流程的一部分。