首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >设计:设计状态跟踪工具

设计:设计状态跟踪工具
EN

Software Engineering用户
提问于 2022-03-11 18:23:00
回答 1查看 93关注 0票数 -1

我们有一套可靠的微型服务可供选择。

为了简单起见,让我们调用服务。

代码语言:javascript
运行
复制
S1
S2
S3
S4
S5

为了简单起见,把流程想象成这样。

代码语言:javascript
运行
复制
S1 -> performs step1 (start step)
S2 -> performs step2
S2 -> performs step3
S3 -> performs step4
S4 -> performs step5
S5 -> performs step6 (final step)

现在,为了跟踪某个特定活动是否完成,我们需要在这5个服务中调用状态检查API。(5至6个原料药)

我正在构建另一个服务SS1来跟踪这个流。SS1基本上会用不同的输入调用S1、S2、S3、S4、S5来跟踪当前状态。

我正在寻找可伸缩的设计来解决这个问题,解决各种问题。

以下是一些假设/要求:

  1. 我们可以假定调用will <=5的外部服务的总数。
  2. 这更像是一个内部工具。水下成本应尽可能少。
  3. 我的云平台是AWS。

我现在拥有的是:

我使它成为无状态的(而不是在DB中保存任何信息),仅仅是因为所有这些都是只读的,并且主要是为了内部目的。

我有一个类模型,如下所示:

可以认为,API在每个活动的单个API中公开了具有上述关系的嵌套JSON。步骤数组将包含一个状态机模式(start、next、end等)。

所以,以下是我想要得到的反馈:

  1. 无国籍对状态-这个选择会有什么副作用吗?
  2. 同步响应与异步(SS1的响应)--我能以某种方式使它成为异步吗?我的目标是前端不应该知道/存储这些步骤?
  3. 上面的关系图-它对这个问题有用吗?
  4. 建造这个系统所需的支持是什么?这是一个内部工具,我需要更多的关注输出质量,一点延迟响应是可以接受的。既然如此,我该把这个放在哪里呢?EC2,Lamda等?还有其他的解决方案吗?

此外,如果需要进一步的细节,请告诉我。我特别把问题和解决办法放在一个较高的水平上。

EN

回答 1

Software Engineering用户

发布于 2022-03-12 04:52:46

无国籍对状态-这个选择会有什么副作用吗?

stateless方法中,如果运行它的实例出了问题,您将失去一切。你介意吗?此外,有效载荷最终可能会变得很大,因为您需要保持所有的请求。

同步响应与异步-我可以让它以某种方式异步吗?我的目标是前端不应该知道/存储这些步骤?

你是说SS1的反应?

上面的关系图-它对这个问题有用吗?

看上去没问题。

最后,如何使用消息队列?

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/437308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档