我正在研究一个工作流引擎来组织一些系统流。
作为研究的一部分,我想构建一个小的工作流poc:
工作流应该侦听一些事件,而不是开始(假设客户A创建了)
流动情况如下:
假设同时存在多个工作流,如何确保每个响应都指向正确的工作流?
我想出了一些解决办法(我认为没有一个足够好)。
我很想听听更好的建议。
发布于 2022-07-28 18:39:18
这是一个有趣的问题,但它是相当通用的,分析一个潜在解决方案的正确方法是考虑以下几个方面:
我假设,就像在任何架构决策中一样,您的目标是在可伸缩性和成本之间实现良好的平衡,而且我相信,考虑以上各点将有助于您在权衡中进行权衡。
为了节省成本,我相信如果您检查基于云的排队服务(如Amazon ),会有所帮助,因为您只为数据传输付费,而不是为队列本身付费。
此外,您还可以检查亚马逊兰博达中的无服务器计算,这对于事件处理来说同样是成本效益,因为您不为总是处于启动和运行状态的VM支付费用。
发布于 2022-07-31 18:03:38
备选方案3。
标准的方法是为每个客户创建一个工作流实例。然后,在发送事件时,通过其id将其发送到特定的工作流实例。
注意,在大多数工作流引擎中,在您描述的情况下,您不需要直接处理消息。工作流代码调用执行实际工作的活动。活动是异步调用的,并且可以在需要时使用多长时间。
我建议检查可以用来实现用例的temporal.io。免责声明:我是这个项目的负责人。
https://stackoverflow.com/questions/73155097
复制相似问题