【发布时间】:2021-03-25 20:31:32
【问题描述】:
我想在 API 上实现一个简单的 CQRS。 简而言之:
- 命令和查询的独立路由。
- 单独的数据库表(目前在同一个数据库上)。一种用于 Command 的规范化,一种用于 Query 的非规范化。
- 查询读取模型的异步事件驱动更新,使用现有的外部事件总线。
Command执行完后,自然需要引发一个事件,传递给Event Bus。 事件总线将处理事件并将其传递给它的订阅者。 在这种情况下,订阅者是需要更新的读取模型。
所以我需要 API 上的回调路由,它从命令总线获取事件并更新读取模型投影(即:更新用于查询的非规范化数据库表)。
问题在于读取模型投影的更新既不是命令(我们不执行任何领域逻辑)也不是查询。
问题是: 这个异步读取模型更新应该如何工作才能同时符合 CQRS 和 DDD?
【问题讨论】:
-
如果您认为回调路由是您问题的重要组成部分,您可以尝试澄清您的担忧。我不太明白你试图在那里表达的想法。
标签: api domain-driven-design cqrs event-bus event-driven-design