考虑以下情况:
你的系统由一些微服务组成 - 比如A,B,C,D和E.
系统用户为您提供输入(比如文件格式),并需要将输入转换为其他文件格式。取决于输入 - >指定的输出,您的系统必须调用其中所有/部分微服务的排列(工作流),以完成工作。
您将如何为此设计高效,高度可扩展且高度可用的系统?
具体来说,解决这些问题:
- 你将如何调用服务/决定模式?
每个输入/输出组合的调用需要一个独特的工作流程?
- 您如何避免这种特殊情况:服务C需要
两项服务的产出A& B表示产生其输出的请求。你可以执行A& B并行,但A是计算重,B非常快,导致服务C膨胀B输出,但等待
在A的输出上,最终导致C崩溃。
- 即使在可能发生间歇性网络故障的情况下,您如何确保最终用户始终获得结果?