我正在学习CQRS模式,因为我们将在我们的新项目中使用它。到目前为止,我几乎没有什么问题:
示例任务:我将使用cron命令从不同的提供者(不同的API)中获取信息,这个cron命令的职责是:
CQRS相关问题:
如果上面所有的问题都是真的,那么我可以:
不要太严格地评判我,我正在学习DDD的概念和相关的模式。我只问那些我不清楚的问题。非常感谢
发布于 2018-09-25 08:54:31
我能在一个系统请求中有几个CQRS命令和查询吗?在上面的示例中,我需要从DB (查询)、持久化数据(命令)等获取现有数据。
不,你不能。每个请求要么是一个命令,要么是一个查询。
从API中获取数据的逻辑是怎样的呢?我可以把它看作是获取数据的CQRS查询过程还是CQRS查询--它是从内部存储而不是从外部API获取数据的唯一过程吗?
命令和查询引用本地数据库。通过远程API从外部服务获取数据是与另一个BC的集成(参见DDD上下文映射模式)。
将视频存储到s3并将信息存储到上载表的过程如何,我是否可以考虑将资产存储到S3命令中的过程,并且这个命令将返回稍后需要存储的数据以进行上载?
将视频存储到s3不是命令,而是与外部服务的集成。您必须集成(同样是上下文映射模式)。
我不想立即存储它,因为上传实体是聚合的一部分,用于存储主信息,其中主信息实体是主聚合实体。
我不知道你的域模型,但是如果上传是一个集合中的子实体,那么在你的上传表中存储东西也不是命令。命令引用聚合。在上传表中存储信息将是命令的一部分。
作为结论:
命令或查询是应用层边界(应用程序服务)上的事务操作。他们处理来自你数据库的数据。每个命令/查询都是一个事务。
https://stackoverflow.com/questions/52465669
复制相似问题