把工作流作为一个中台服务,业务数据存放疑问

现在想把Activiti工作流作为一个中台服务,为其它的微服务提供流程服务支持,但是假如流程运转的时候会产生大量的跟对应的微服务耦合性很大的业务数据,比如订单数据,账户数据,库存数据,那么这些数据应该放在工作流服务的db,还是放在订单服务,账户服务,库存服务对应的db里面?

根据你的描述 你这个工作流服务是一个聚合服务吗?
 

订单、账号和库存数据肯定不会存在这个微服务中,肯定放在对应的服务的DB中

数据放在工作流db中还是各个系统中,注意遵循微服务数据设计的原则:数据和服务是一体的,服务所拥有的数据只能通过这个服务的API来访问。不能在工作流中直接读写其他微服务的数据。

 

如果工作流需要访问订单数据,可以直接通过订单服务查询。同时可以同步订单db中的表到工作流db中来,也可以查询订单信息后冗余数据到db中,这些都会带来数据一致性的问题,在系统设计时要考虑这些问题。采用何种方案,主要看你的需求。系统设计没有标准答案。

您好,我是问答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题。

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

楼主最后怎么解决的这个问题?我也遇到了同样的问题