【发布时间】:2017-10-09 18:29:05
【问题描述】:
在我们当前的应用程序中,用户需要能够查看其帐户中的某些统计信息。这些数据以事件的形式来自不同的有界上下文。它们通常由计数器组成,例如跟踪的总距离。一些用户绑定的统计信息也用于报告和图表。我的问题是在哪里存储用户绑定的统计信息。比如,它们是域模型(用户聚合)的一部分吗?还是它们只是最终在多个地方更新的物化视图?
因此,使用物化视图进行可视化:
/-> [User View updater]
[BC1] --> SomeInterestingToCountEvent1 <
\-> [Report View updater]
/-> [User View updater]
[BC2] --> SomeInterestingToCountEvent2 <
\-> [Report View updater]
或者通过 f.e.用户中的 Stats 值对象:
[BC1] --> SomeInterestingToCountEvent1 ---> [User Saga: update Stats]
[BC2] --> SomeInterestingToCountEvent2 ---> [User Saga: update Stats]
/-> [User View updater]
[User BC] --> UserStatsUpdatedEvent <
\-> [Report View updater]
【问题讨论】:
标签: architecture domain-driven-design cqrs