我们有一套可靠的微型服务可供选择。
为了简单起见,让我们调用服务。
S1
S2
S3
S4
S5为了简单起见,把流程想象成这样。
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来跟踪当前状态。
我正在寻找可伸缩的设计来解决这个问题,解决各种问题。
以下是一些假设/要求:
我现在拥有的是:
我使它成为无状态的(而不是在DB中保存任何信息),仅仅是因为所有这些都是只读的,并且主要是为了内部目的。
我有一个类模型,如下所示:

可以认为,API在每个活动的单个API中公开了具有上述关系的嵌套JSON。步骤数组将包含一个状态机模式(start、next、end等)。
所以,以下是我想要得到的反馈:
SS1的响应)--我能以某种方式使它成为异步吗?我的目标是前端不应该知道/存储这些步骤?此外,如果需要进一步的细节,请告诉我。我特别把问题和解决办法放在一个较高的水平上。
发布于 2022-03-12 04:52:46
无国籍对状态-这个选择会有什么副作用吗?
在stateless方法中,如果运行它的实例出了问题,您将失去一切。你介意吗?此外,有效载荷最终可能会变得很大,因为您需要保持所有的请求。
同步响应与异步-我可以让它以某种方式异步吗?我的目标是前端不应该知道/存储这些步骤?
你是说SS1的反应?
上面的关系图-它对这个问题有用吗?
看上去没问题。
最后,如何使用消息队列?
https://softwareengineering.stackexchange.com/questions/437308
复制相似问题