如果我每table
创建一个document
(或document databases
aggregate type
},我可以合并数据库或在我重构write
时对它们进行分片side microservices
,结果应用程序变得更具可伸缩性,并且还提高了加载events
的速度。
在我设计event store
时,我应该注意哪些副作用?
修改
我目前正在使用MongoDb
。
如果我按collection
创建aggregate id
怎么办?
或database
每aggregate type
collection
每aggregate id
...?
这在性能,数据管理的易用性,可维护性或进一步的可扩展性方面是否有问题?
答案 0 :(得分:2)
如果我创建一个单独的表(或文档数据库中的文档),我可以在重构写微服务时合并数据库或对它们进行分片,结果应用程序变得更具可伸缩性。
在设计事件存储时,我应该注意哪些副作用?
我没有看到任何关于该设计的权威讨论。
在事件采购社区中讨论过为每个类型聚合提供单独的表格。你可以找到讨论here。执行摘要:似乎有更多有经验的从业者开始,任何人都会故意这样做。
您应该记住的一件事是,虽然事件是真实的(它们描述了企业感兴趣的东西),但聚合是人为的。如果重新设计聚合边界要求您将事件移动到整个地方,您可能会感到不快。
以下内容可能会有所帮助