【发布时间】:2018-06-25 22:35:03
【问题描述】:
使用 CQRS 和事件存储,微服务之间的编排提供了最终一致性,其中一个微服务中的更改需要一点时间才能传播到相关的其他下游系统(基本上是其他微服务)。 如果数据如此重要以至于两个微服务都应该对数据具有强一致性,那么有哪些选择?我能想到的一个选项是像数据网格一样通过缓存写入,但这在分布式系统中特别脆弱。
【问题讨论】:
-
给我一个用例示例。
-
微服务 1:管理账户的利息 微服务 2:管理账户 微服务 2 使用利息板和持续时间进行账户管理,但是任何特定利息配置文件的任何更改最终都将仅适用于 MS2一致性,可能会发生在一个配置文件更改后开始的任何帐户处理都无法选择最新的配置文件,因为帐户微服务尚未更新。
-
任何答案都提供了解决方案吗?
-
我想这个问题没有灵丹妙药的答案,它归结为 CAP 定理,需要根据具体情况来考虑。
标签: microservices cqrs eventual-consistency