【发布时间】:2019-11-15 15:32:07
【问题描述】:
我正在学习使用 CQRS、MassTransit 和用于读取端的不同类型存储的适当微服务架构。 CQRS 经常出现的一件事是事件溯源。我明白这根本不是强制性的。但是,我想不出为什么在整个系统上使用它真的是一种反模式。
- 将所有事件的存储区作为单一事实来源可以帮助您随时构建/重建读取存储区。
- 您未锁定任何供应商(事件商店除外)
对我来说,问题更像是不从事件溯源开始(并且仍然有单独的数据存储,具体取决于微服务。例如:elasticsearch、mongodb 等)并在需要时迁移/配置或另一方面,从事件溯源开始,这样您以后就不必处理迁移。
【问题讨论】:
-
对于像这样的辩论问题,DDD-CQRS-ES slack 是最好的选择 - 这是一个微妙的东西,可以从不同的角度来回受益,即不可能没有官方最佳实践。这条反模式格言是 80/20 规则的经验法则——事件采购您的核心域比其他任何东西都更划算。
标签: microservices cqrs event-sourcing