如何通过即时一致性满足微服务的业务需求?

问题描述

假设我在网上商店的管理面板中。我有订单清单。这些订单已付款并准备好发货。 (管理员用户希望根据订购的物品开始发货。

想象一下,有2个微服务。一种用于订单,一种用于发货。为了创建货运,我将向运输服务发送一个请求,其中包含几个要运输的物品和一个订单ID。然后,货运服务将通过查询订单服务来检查订单中是否存在物品。因为我不想使用订单中不存在的物品来创建货件。

我希望立即保持一致,因为货运数据将在创建后发送到第三方应用程序。因此,如果数据不正确,允许创建发货也很奇怪。

我也在使用GraphQL突变。这意味着我必须将更新后的状态返回给用户,这也使最终的一致性变得更加困难。

在这些情况下推荐的方法是什么?这是否表明这两个微服务需要合并?我可以想象这种情况会发生多次。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...