瀑布API调用的最佳架构模式

问题描述 投票:0回答:1

我正在尝试实施一个架构,我有客户订购和发货历史。我正在尝试使用API​​调用将该数据导入另一个系统,但问题是我无法使用单个API调用导入所有客户数据。我使用promises创建瀑布模式,一旦导入客户信息,然后进行订单导入请求,然后发出货件导入API请求。

我正在尝试利用AWS Lambda,SQS,Cloudwatch等进行这些连接。我看到的问题是顺序API调用。

由于发生了三次API调用以导入客户数据,因此连接失败的错误率以及手动管理和日志跟踪都是一个大问题。如果让我们说订单API调用失败,那么就不会发生货件API调用。

我对如何简化或自动化日志跟踪感到困惑。如果在任何api连接中发生故障,如何降低错误率以及如何迁移数据。我可以利用的任何其他AWS服务?或者我可以单独用于订单和发货的更多SQS队列?

谢谢。

javascript node.js amazon-web-services aws-lambda amazon-sqs
1个回答
1
投票

正如评论中所提到的,听起来你正在建立一个工作流程,并寻找Step Functions

您基本上将工作流分解为状态机,在步骤函数中设计状态机(状态之间的taskstransitions),它将为您管理状态。通常,任务将在AWS Lambda中运行。

通常,API调用的实现只是调用启动执行您要启动的工作流的特定步骤函数。

在你的情况下,它是一个非常线性的状态机 - 调用服务A,然后是B,然后是C.你还要定义在错误条件下发生什么样的转换和活动(通知你的客户?放弃?其他?) 。

© www.soinside.com 2019 - 2024. All rights reserved.